我用本機C++編寫了一個ActiveX控件(OCX),使用VS2008。如何通過使用.NET應用程序的過程來調試ActiveX控件?
當我附加到Microsoft ActiveX控件測試容器(TstCon32.exe)的線程和我自己的原生cpp應用程序引用該控件時,我可以正確調試它。
但是,我不能通過將它附加到引用MyCtrlNameLib.dll
和AxMyCtrlNameLib.dll
的控件的.NET winform應用程序的線程來調試它。它在我的中斷點上顯示以下消息:
斷點當前不會被命中。沒有符號被載入這個文件。消息
我不知道是否有一種方法來調試我的ActiveX控件引用的.NET Winfrom應用程序。
我認爲問題是我的.NET應用程序沒有加載MyCtrlName.ocx,因此沒有添加MyCtrlName.pdb。它加載InterOp.MyCtrlNameLib.dll和AxInterOp.MyCtrlNameLib.dll。
是的,我看到沒有MyCtrlName.ocx在調試模塊窗口中,只有AxInterOp.MyCtrlNameLib.dll和InterOp.MyCtrlName.dll被加載。 – SuperLucky 2013-03-14 15:28:39
但是,使用explorerXp,MyWinApp.exe會加載MyCtrlName.ocx。所以我認爲這個過程實際上執行它,但是當你使用託管代碼附加一個進程時,VS只是忽略那些非託管代碼的模塊?嗯,我有一些實驗要做。無論如何,謝謝你的幫助。 – SuperLucky 2013-03-14 15:40:14