我有一個用VC++ 6構建的舊DLL文件。現在我需要調查轉儲文件,但是我沒有PDB可用。 WinDbg報告的堆棧跟蹤也不準確。來自不同版本的Visual Studio的PDB文件
是否有可能重建項目與更高版本的Visual Studio即2003年,2005年,2008年,有PDB生成,並用它來映射到舊的DLL中的符號地址?有沒有像VC 6.0兼容模式的建設項目?
獲得VC++ 6是一個選項,但它看起來像VS6.0已經從MSDN訂閱者下載頁面消失:(
感謝
我有一個用VC++ 6構建的舊DLL文件。現在我需要調查轉儲文件,但是我沒有PDB可用。 WinDbg報告的堆棧跟蹤也不準確。來自不同版本的Visual Studio的PDB文件
是否有可能重建項目與更高版本的Visual Studio即2003年,2005年,2008年,有PDB生成,並用它來映射到舊的DLL中的符號地址?有沒有像VC 6.0兼容模式的建設項目?
獲得VC++ 6是一個選項,但它看起來像VS6.0已經從MSDN訂閱者下載頁面消失:(
感謝
恐怕我認爲答案是否定的!你需要嘗試使用與生成轉儲文件的二進制文件完全相同的工具鏈重新構建它。
VS真的很關心它如何將dump文件與pdb文件匹配在我的經驗中:唯一的運氣我曾經在這些情況下與WinDbg(但你已經嘗試過)/
謝謝!我也試圖用VS2003重建我的項目,並發現其他兼容性問題(過時的頭文件)。看起來我必須使用VS6.0:'( – Gant 2010-01-19 18:31:05
我甚至不確定兩個編譯器是否生成相同的PDB。 – MSalters 2010-01-19 11:01:42
@ MSalters:他們沒有。但IDE可以讀取任何PDB。 – 2010-01-19 16:11:02
不確定這些來自同一編譯器的PDB是否僅在時間戳方面有所不同?因爲我的同事能夠從同一編譯器新創建的PDB文件獲得正確的堆棧跟蹤。無論如何感謝這個:} – Gant 2010-01-19 18:34:33