WinDbg dmp生成与分析

来源:互联网 发布:周其仁 知乎 编辑:程序博客网 时间:2024/05/21 07:08
客户机dmp文件获取
1.客户机安装WinDbg.
WinDbg包含在WDK里,也可以独立的下载。
官方的下载地址:http://www.microsoft.com/whdc/devtools/debugging/default.mspx
汉化版的下载地址:http://bbs.pediy.com/showthread.php?t=81746&highlight=WinDbg

下载下来的一般是WinDbg的安装程序,跟一般程序的安装过程类似。安装完后,若要使用汉化版本,就直接把汉化后的启动文件(例如WinDbg_cn.exe)复制到安装目录下,再直接点击(WinDbg_cn.exe)即可。
2.运行程序,打开WinDBG—>File—>Attach to a Process,然后选择将之要进行捕获的进程。如果程序一打开就崩溃,可以使用WinDBG—>File—>Open Executable。
3.在windbg中输入g,让程序继续执行.
4.重现崩溃或者异常。
5.在windbg中输入框内输入产生dump 文件的命令 .dump 。可以选择不同的参数来生成不同类型的dump文件。
选项(1): /m
命令行示例:.dump /m D:myapp.dmp

注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。
 
选项(2): /ma
命令行示例:.dump /ma D:/myapp1.dmp
注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。 
5.在windbg中输入命令:.detach,让进程继续运行(如果是Open Executable就不需要)。

本机dmp文件分析
1.本机程序配置生成符号文件(pdb)
属性->C/C++-> 优化->优化禁用
属性->链接器->调试->生成调试信息:是
生成映射文件:是
2.windbg打开dmp文件,直接拖拽即可。
3.用!analyze –v分析dump文件。
4.配置好符号文件路径和源码路径。
File -> Source File Path配置源码路径。
File -> Symbol File Path打开对应的对话框进行设置,并勾选reload或者使用.reload命令。
这样windbg就准确定位到异常的位置

参考文档:http://blog.csdn.net/breaksoftware/article/details/13989025
原创粉丝点击