我讀過很多類似的問題進行轉儲,但我似乎無法找到一個答案,我的問題是什麼。需要幫助調試使用WinDbg
我從64位Windows 2008上運行的32位應用程序中獲得了一組小型轉儲。我的32位Vista Business上的32位Visual Studio根本不會觸及它們,所以我一直試圖在WinDbg中打開它們。
我沒有確切對應的.pdb文件(我們纔開始爲他們節省這一特定版本之後),但我必須在同一臺機器建有相同的代碼.pdbs。我也可以訪問創建小型轉儲的確切可執行文件。
我發現叫ChkMatch一個漂亮的小應用程序,可以讓.pdbs匹配的可執行文件......唯一的區別(根據ChkMatch)是年齡,所以我符合我的新.pdbs原來的可執行文件。
但是,當我將它加載到WinDbg中時,它仍然表示它是「不匹配的pdb」,因爲我已經設置了.symopts+0x40
它試圖加載它們。然後我得到了警告:
*** WARNING: Unable to verify checksum for myexe.exe
我跑!lmi myexe
,發現,的確,可執行文件的校驗實際上爲零。從左右一點,我發現可執行文件應該已經用/release
標誌來構建,以獲得校驗和。這一切都很好,但我不能及時重建並重建(如果我這樣做了,我肯定會保存原始的.pdbs :-P)。
有什麼我可以做嗎?似乎有點荒謬,我至少不能在這裏比賽,至少得到一個調用堆棧。
即使SYMOPT_LOAD_ANYTHING打開,從中獲得您的PDB文件必須具有相同的設置,您試圖調試的二進制文件的版本。是這樣嗎? – 2010-07-15 22:10:28