2012-06-05 41 views
3

是否有可能通過tlbimp.exe從C++程序創建的.net互操作層使用COM C++代碼。我發現COM C++ dll的符號被加載到Debug-> Modules窗口中。通過.net interop類調試到COM C++代碼

+1

不,調試器不允許步入從託管代碼切換到本機代碼執行,或其他方式。你需要在被調用的方法上設置一個斷點。在C#exe項目中啓用非託管調試,以允許它在本地項目中以混合模式工作。 –

+0

另外,爲了提醒您仔細檢查「附加到進程」對話框中的代碼類型,然後在複選框中選擇託管和本機代碼類型,手動設置「附加到」字段。 查看http://stackoverflow.com/questions/2519603/debugging-unmanaged-code-while-debugging-managed-code並查找RaphaëlSaint-Pierre對接受答案的評論以供參考。 –

回答

6

這是可能的,但您需要將Visual Studio調試器設置爲項目屬性中的混合模式。這是位於Project properties->Configuration Properties->Debugging->Debugger Type

+0

以前它被設置爲「自動」,然後我將它設置爲「混合」。它的工作! – TrustyCoder