轉自: http://blog.csdn.net/genesisbible/article/details/6302864
網上有很多相關文章,不過不是外文的就是不夠清晰。我還是自己記錄一下吧。
一、 首先是被dump的工程,一定要有以下的設置,缺一不可:
1. C/C++/General/Debug Information Format = Program Database (/Zi).
2. Linker/Debugging/Generate Debug Info= Yes (/DEBUG)
3. Linker/Debugging/Generate Program Database File= $(TargetDir)$(TargetName).pdb
接下來,務必保存好生成的pdb文件!所有的pdb文件和source code必須嚴格匹配,否則當客戶反饋了一個錯誤時,即使有minidump文件也無法找到對應的代碼。
二、用vs2008分析dump文件
- 雙擊minidump文件(*.dmp)。默認會啓動vs2008。
- 菜單Tools/Options, Debugging/Symbols,增加PDB文件路徑。注:如果minidump文件與pdb文件在同一目錄,就不用設置這個了。
- 若調試的程序需要微軟基礎庫的PDB信息,可以增加一個路徑爲:
- http://msdl.microsoft.com/download/symbols
- 在界面下方Cache Symbol From symbol…選擇本地存儲這些Symbols的路徑。 注:如果本地已存儲過微軟基礎庫的pdb,就直接按照此步操作設置本地路徑,不必執行上一步操作了。
設置代碼路徑:
剛打開的dmp工程,進入解決方案的屬性。在這裏輸入源程序的代碼路徑。注:一定是sln所在的路徑,而不是vcproj的路徑!
按F5,debug吧。