2011-05-29 157 views
3

我的主要啓動項目是在C++中。該解決方案還涉及託管的C#代碼。 當我調試 - 我只有在非託管節斷點(在託管斷點,它指出:「斷點將不會被命中。無效文件行」調試託管代碼和非託管代碼

我檢查參考,看到有dll和pdb那裏。

什麼會是什麼?

回答

0

您必須啓用混合模式調試。我想不起那就是副手。

+0

正確。我將調試設置爲混合(之前設置爲Auto)。 – Eyal 2011-05-29 12:28:10

0

我有混合模式調試的許多問題。事實上,一些程序變得不穩定(主要是爲我的Excel互操作),並且不能再編輯和繼續。

同時調試託管模式和非託管模式的一個好方法是設置一個新的虛擬項目,該項目會將非託管調試器附加到您的應用程序中。您可以使用舊項目調試託管代碼,將其分離並在要調試本機代碼時附加本地調試器。這樣,您也可以編輯並繼續輸入這兩個代碼。

設置這個的指令是there

1

如果像我一樣,試圖從本地C++項目調試C++/CLI(即,您已經在單個文件中設置了/ CLR),並且它永遠不會觸及斷點並且無法進入。那麼我的朋友,在VS2015去

工具 - >選項 - > Debugging->常規

和蜱的小盒子,上面寫着:

啓用.NET Framework的源步進

我相信你還需要將它設置爲混合模式調試ala上面的答案,但僅這對我來說還不夠。隨着那個方塊打勾,我可以從我的非託管C++進入「進入」託管代碼......在這裏有一個瘋狂的數量的技術......