2011-09-09 70 views
2

我有一個C#/ NUnit測試調用到使用英特爾C++編譯器(版本12,我相信)編譯的C++庫中。我有PDB,禁用「只是我的代碼」,啓用了非託管代碼調試。儘管如此,普通的調試工作並不奏效 - 它說它沒有獲得消息來源和優惠活動。如何從託管代碼調試到英特爾C++庫?

另外:我在處理這個問題時經常遇到VS2010崩潰。

只是好奇是否有人遇到過這個問題。

+0

使用Visual Studio或不同的調試器? – JaredPar

+0

使用visual studio –

回答

1

PDB文件需要位於程序集加載出的同一目錄中。 NUnit將測試dll複製到臨時目錄並從那裏加載 - 是否複製PDB。

檢查的一種方法是使用ProcMon(它可以顯示所有文件訪問)並篩選PDB文件以查看它試圖從哪裏加載它。將procmon可以免費從微軟:

http://technet.microsoft.com/en-us/sysinternals/bb896645

+0

是的,PDB在那裏。 –

+0

在Nunit的臨時目錄中? –

+0

不,PDB與其他測試組件一起存儲。 –

0

沒有神奇的解決方案。您需要源代碼才能在源代碼級單步執行代碼。

您應該能夠瀏覽彙編代碼,但取決於您的ASM熟練程度,這可能不會很有幫助。 ;)

如果您無法訪問源代碼,您只需盡最大努力,調試即可,請參閱。

+0

我有源代碼。 –

+0

啊。如果無法自動找到PDB和源代碼,調試器是否顯示一個選項來定位? – jalf

+0

「瀏覽找到源」選項已被禁用 –

相關問題