我有一個C#/ NUnit測試調用到使用英特爾C++編譯器(版本12,我相信)編譯的C++庫中。我有PDB,禁用「只是我的代碼」,啓用了非託管代碼調試。儘管如此,普通的調試工作並不奏效 - 它說它沒有獲得消息來源和優惠活動。如何從託管代碼調試到英特爾C++庫?
另外:我在處理這個問題時經常遇到VS2010崩潰。
只是好奇是否有人遇到過這個問題。
我有一個C#/ NUnit測試調用到使用英特爾C++編譯器(版本12,我相信)編譯的C++庫中。我有PDB,禁用「只是我的代碼」,啓用了非託管代碼調試。儘管如此,普通的調試工作並不奏效 - 它說它沒有獲得消息來源和優惠活動。如何從託管代碼調試到英特爾C++庫?
另外:我在處理這個問題時經常遇到VS2010崩潰。
只是好奇是否有人遇到過這個問題。
PDB文件需要位於程序集加載出的同一目錄中。 NUnit將測試dll複製到臨時目錄並從那裏加載 - 是否複製PDB。
檢查的一種方法是使用ProcMon(它可以顯示所有文件訪問)並篩選PDB文件以查看它試圖從哪裏加載它。將procmon可以免費從微軟:
是的,PDB在那裏。 –
在Nunit的臨時目錄中? –
不,PDB與其他測試組件一起存儲。 –
沒有神奇的解決方案。您需要源代碼才能在源代碼級單步執行代碼。
您應該能夠瀏覽彙編代碼,但取決於您的ASM熟練程度,這可能不會很有幫助。 ;)
如果您無法訪問源代碼,您只需盡最大努力,調試即可,請參閱。
使用Visual Studio或不同的調試器? – JaredPar
使用visual studio –