我使用Visual Studio 2010來調試主要是用C編寫的正常情況下,應用程序,我可以附加調試得很好,但我在一些問題上運行當我鏈接到用C++/CLI編寫的庫時。調試用C++是C可執行 - CLI庫編譯/ CLR
如果我編譯與/clr
標誌(我最終將不得不爲此做尚未不成文庫)的庫,然後我失去了調試整個C應用程序的所有功能,甚至什麼都沒有做的部分圖書館電話。我得到了帶有黃色三角形和感嘆號的空圈,其中有一個紅色的斷點圓應該是。將鼠標懸停在它上面只能提供一個工具提示:「斷點當前不會被觸發,沒有可執行代碼與此行關聯,可能的原因包括:條件編譯或編譯器優化。」
然後,如果我鏈接完全相同的庫編譯沒有/clr
標誌,我再次能夠調試我的應用程序。
據我所知,Visual Studio將不太可能能夠調試用C++/CLI庫,那就是確定。我只想保留調試應用程序其餘部分的功能,並且至少可以查看我對外部庫調用的結果。
另一個複雜的因素是該項目不是由visual studio構建的。它使用一個使用cl
的外部make系統編譯,所以我可以自定義任何需要以這種方式發佈到編譯器的命令。
有沒有人知道爲什麼我目前不能按照我想要的方式調試庫?任何建議如何我可以?
非常感謝您的回答。就是這樣。我從來沒有意識到有不同類型的調試器。 – Drewmate 2012-04-18 20:30:56