(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
一个程序崩溃了,如果它支持dump生成的话,它的dump文件通常生成在:C:\Windows\MiniDump 或 C:\ProgramData\产品\...
1. 配套pdb文件
配套的pdb文件:dmp文件分析的基础是需要程序生成时的哪些pdb文件的;(pdb文件的配置生成方法release/debug:属性->链接器->调试 生成调试信息 与 生成程序数据库文件 配置上)
一般一个产品对外发布使用的时候,这些配套的dll/pdb文件都是有相应的备份的,此时我们需要先找出对应dump版本的dll/pdb文件。
拿到这些文件之后,我们把它们放入一个目录中,例如目录 c:\pdbfile
(注意:vs调测需要相应的 执行文件dll/pdb文件 都放入到符号路径中)
2. vs上调试:在相应的开发环境上调测
a. 配置pdb路径
例如vs2010上调试,我们把这个放pdb文件的目录 c:\pdbfile配置到 选项->调试->符号路径 里面(和Microsoft符号路径同级)
b. 打开dump文件
c. 点击“使用 仅限本机进行调测”,然后查看相应的堆栈信息,局部变量,分析相应的问题
如果发现部分dll未自动加载pdb的话,可以在 调测->窗口->“模块”中,选中dll,右键 加载pdb
3. windbg调试:
同上面的类似
a. 配置pdb路径
b. 打开dump文件
c. 在命令窗口初步分析
输入:
!analyze -v // 分析
.ecxr // 显示异常上下文记录
d. 打开View -> Call Stack (Alt+6)与View ->Locals(Alt+3)窗口,查看细节
其它参考路径:
http://www.cnblogs.com/edisonchou/p/4793183.html 了解vs源码路径如何配置,手动生成dump
http://blog.csdn.net/chinabinlang/article/details/49491813 系统配置或程序生成dump文件
http://shashanzhao.com/archives/908.html windbg的源码路径,ImageFile路径配置
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)