网上有很多相关文章,不过不是外文的就是不够清晰。我还是自己记录一下吧。
一、 首先是被dump的工程,一定要有以下的设置,缺一不可:
C/C++/General/Debug Information Format = Program Database (/Zi).
Linker/Debugging/Generate Debug Info= Yes (/DEBUG)
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/symbo