2012-04-18 88 views
0

我有一個現有的C應用程序,我在Visual Studio中進行調試,並且我想訪問它中的某些庫函數。當我將庫從C++/cli源文件編譯爲.lib文件時,我可以使用或不使用clr支持(/clr標誌)對它進行編譯。
如果我編譯帶有clr支持的庫,並將其與我的其餘部分應用程序中,調試器不能再停止在不使用clr支持編譯的庫中的特定代碼行。
如果我在沒有clr支持的情況下編譯庫,並且鏈接到庫,那麼調試器就可以正常工作。 我們需要用clr支持來編譯這個庫,並且我不想失去調試程序其餘部分的能力。任何人都可以告訴我,爲什麼我在與/ clr編譯庫鏈接時失去調試能力,而不是另一個? nayone是否知道如何正確編譯/鏈接,以便保持我的調試能力?使用C++調試C程序 - 使用/ clr支持編譯的CLI庫

+0

http://msdn.microsoft.com/en-us/library/fz5w87ad.aspx? – 2012-04-19 10:53:00

+0

[用C/CLI編譯的C++調試C可執行文件 - 用/clr](http://stackoverflow.com/questions/10214144/debugging-ac-executable-with-ac-cli-library-compiled-with -clr) – 2012-04-20 20:09:56

回答

1

由於新的可執行文件包含本機代碼和託管代碼的混合,因此您必須將兩種類型的調試器都附加到它。在調試 - >附加到進程...我選擇的過程以及類型s的調試器附加。在這種情況下,託管(v 4.0)和本機。

回覆更詳細here