我試圖從.DMP文件調試C#應用程序,並且在可執行文件,DLL和PDB中都有一個名爲「MyFolder」的文件夾。我將包含源代碼的目錄設置爲C:\ MyFolder \,但是當我嘗試調試時,它告訴我:Visual Studio 2008調試時沒有加載符號.DMP
「沒有爲任何調用堆棧幀加載符號,源代碼無法顯示。
當我打開它指出以下PDBS找不到符號負載信息:
C:\ WINDOWS \ SYSTEM32 \ kernel32.pdb:無法找到或打開PDB文件。
C:\ MyFolder \ kernel32.pdb:無法找到或打開PDB文件。
C:\ MyFolder \ symbols \ dll \ kernel32.pdb:無法找到或打開PDB文件。
C:\ MyFolder \ dll \ kernel32.pdb:無法找到或打開PDB文件。
C:\ MyFolder \ kernel32.pdb:無法找到或打開PDB文件。
C:\ Windows \ symbols \ dll \ kernel32.pdb:無法找到或打開PDB文件。
C:\ Windows \ dll \ kernel32.pdb:無法找到或打開PDB文件。
C:\ Windows \ kernel32.pdb:無法找到或打開PDB文件。
我的PDB位於正確的文件夾中,並且它們使用完全相同的時間和日期進行了時間戳。有人知道這裏發生了什麼嗎?加載符號的正確方法是什麼?
如何驗證我的應用程序的符號是否實際加載(消除它們作爲問題)?
我檢查了模塊,它看起來像所有的DLL和我的項目的可執行文件無法加載符號,具體來說符號狀態是「符號文件中沒有本地符號」......當我右鍵點擊該項目我選擇「Load Symbols From - > Symbol Path」,然後選擇PDB C:\ MyFolder \ MyApplication.pdb,然後它告訴我「MyApplication.pdb的符號文件與模塊不匹配。」
軟件加載一個64位的Windows Server 2008 R2上,我直接複製的文件夾從服務器(其包括PDBS)和我調試它在64位Windows 7的機器上。 PDB是從任務管理器(TM)生成的,TM是否也只創建了本地代碼小轉儲?它是一個C#應用程序,所以它應該全部是託管代碼..有沒有辦法獲得和調試託管代碼小型轉儲? – Kiril 2011-05-16 20:50:15
@Link:你的小型轉儲可能沒問題,讓我們來設置你的符號。對於非託管調試,你需要2008 PDB,所以你需要一個符號服務器,如下所述:http://msdn.microsoft.com/en-us/library/b8ttk8zy(v=VS.90).aspx – 2011-05-16 21:01:25
我會給一槍!謝謝里克! – Kiril 2011-05-16 21:33:54