2009-08-03 54 views
0

我想調試一個老的VC6 DLL,我設法通過代碼,但不幸的是我的VC9調試器不顯示在DLL中的變量的內容。 (我猜的瀏覽信息)瀏覽VC6 DLL變量內容(調試)

我在VC6中調試時看到了我的dll的內容,但我更願意能夠在與託管代碼同時進行調試。

也許我錯過了我的VC6項目中的一些編譯參數。如果有人有任何想法會很棒,那我會花很多時間。

由於提前, 鮑里斯

回答

1

開始(我認爲)與VC8(VS2005)調試器不再支持CODEVIEW符號,所以你需要確保當你建立VC6的DLL您指定它創建一個PDB符號文件。

在命令行是/ PDB:

在IDE中去的項目的鏈接選項卡和調試類 - 確保「調試信息」和「微軟格式」被選中。

VS2008的調試器應該能夠加載和使用VC6 PDB符號。有趣的是,當調試一個VC6二進制文件時,VS2008調試器不會在'Locals'窗口中顯示任何變量,但它在'Autos'和'Watch'窗口中顯示它們的值很好,並且還會顯示它們的值在工具提示彈出窗口中。奇怪的。

+0

它實際上工作,但只爲少數變量,但不是全部。沒有在正確的位置生成pdb文件。我無法在調試中設置所有變量,認爲這是不同種類字符串的問題(VC6再次使用VC9不使用相同的basic_string)。但如果有人知道如何調試! – 2009-08-07 17:34:59