Windbg分析DMP文件
1、提取Dump格式文件
有两种方式:
第一种,程序崩溃时,启动任务管理器,选择崩溃的*.exe进程,右键选择创建转储文件,通过 开始—运行—输入 %temp% --确定--在打开Temp窗口中即可找到*.dmp文件。
第二种,通过windbg生成dump 文件。
步骤:
1) 打开Windbg并将之Attach 到crash的程序进程
2) 输入产生dump 文件的命令
Windbg产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。
选项(1): /m
命令行示例:.dump /m C:\dumps\*.dmp
注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,
只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。
选项(2): /ma
命令行示例:.dump /ma C:\dumps\*.dmp
注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大(第一种方法产生的DMP文件
大小与此相同),但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
选项(3):/mFhutwd
命令行示例:.dump /mFhutwd C:\dumps\*.dmp
注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。
2、 打开Dump格式文件
打开WinDbg,通过菜单[File] à [Open Crash dump] 选择dump文件打开,也可通过CMD打开Dos命令窗口,切换到WinDbg所在目录,利用命令:
WinDbg –z “D:/Lines2009-7-25-22-20-33-900.dmp”,-z表示路径。
3、 分析Dump格式文件
通过WinDbg菜单[File] -》 [Symbol File path]、[Source File Path] 、[Image File path]分别设置PDB文件路径、源代码路径和可执行文件的路径。
基本调试命令:
r ------可以显示系统崩溃时的寄存器和最后的命令状态;
dd----显示当前内存地址;
dd参数--显示参数处的内存;
u---- 显示反汇编的指令;
! analyze -v -------显示分析的详细信息;
kb---显示call stack内容
kv.bugcheck----显示出错的代码
Windbg分析DMP文件的更多相关文章
- WinDbg分析DMP文件方法完全攻略
前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug, ...
- 使用 WinDbg 分析dump文件
步骤一: 生成dump文件. #include <Windows.h> #include <iostream> #include <DbgHelp.h> #incl ...
- 使用VS2013分析DMP文件
当一个发布的.NET应用程序出现app crash,无法通过日志分析异常原因时,就需要通过分析DMP文件了,传统方式是通过WinDbg来分析DMP文件,但是WinDbg用起来不是很方便,其实VS就是一 ...
- WinDbg分析DUMP文件
1. 如何生成dump文件? 原理:通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件: ...
- 用windbg查看dmp文件,定位bug位置
windbg + .dmp + .pdb + 源代码,可以看到是哪个代码崩溃的 设置符号文件所在路径 File->Symbol File Path... 在输入框中填入.pdb文件所在的文件夹路 ...
- 将windbg与.dmp文件关联
如果您厌倦了启动调试器.加载转储文件.设置sympath.加载扩展名等,这里有一个很好的方法,可以在.dmp文件的上下文菜单上获取“调试此转储文件”,并自动加载所有您喜欢的命令.首先创建一个包含以下内 ...
- Windows Server2008R2蓝屏,分析dmp文件
使用Windbp PreView打开dmp文件后,在命令栏输入如下命令: !analyze -v 解析结果中蓝色字体为错误原因分析
- WinDbg分析dump文件排查bug
文章:WinDbg-如何抓取dump文件 命令: cd C:\Windows\System32\inetsrv appcmd list wp 可以查看各个站点的pid
- WinDbg 分析dump
1.生成dump文件. 在代码捕获异常,并将异常写入dump文件. #include "stdafx.h" #include <Windows.h> #include ...
随机推荐
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...
- NSString的常用方法
创建一个新字符串并将其设置为 path 指定的文件的内容,使用字符编码enc,在error上返回错误 + (id)stringWithContentsOfURL:(NSURL *)url encodi ...
- R语言笔记:快速入门
1.简单会话 > x<-c(1,2,4) > x [1] 1 2 4 R语言的标准赋值运算符是<-.也可以用=,不过不建议用它,有些情况会失灵.其中c表示连接(concaten ...
- Python爬虫和情感分析简介
摘要 这篇短文的目的是分享我这几天里从头开始学习Python爬虫技术的经验,并展示对爬取的文本进行情感分析(文本分类)的一些挖掘结果. 不同于其他专注爬虫技术的介绍,这里首先阐述爬取网络数据动机,接着 ...
- [swustoj 1021] Submissions of online judge
Submissions of online judge(1021) 问题描述 An online judge is a system to test programs in programming c ...
- 【 D3.js 高级系列 — 1.0 】 文本的换行
在 SVG 中添加文本是使用 text 元素.但是,这个元素不能够自动换行,超出的部分就显示不出来了,怎么办呢? 高级系列开篇前言 从今天开始写高级系列教程.还是那句话,由于本人实力有限,不一定保证入 ...
- jQuery遍历DOM
jQuery提供了多种遍历DOM的方法.遍历方法中最大的种类是树遍历. 向上遍历DOM树 parent():返回被选元素的直接父元素 parents():返回被选元素的所有祖先元素,它一直遍历到根元素 ...
- 微信公众平台开发—利用OAuth2.0获取微信用户基本信息
在借鉴前两篇获取微信用户基本信息的基础下,本人也总结整理了一些个人笔记:如何通过OAuth2.0获取微信用户信息 1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- 13、Android的多线程与异步任务
课程目标:学习Android中异步操作的三大方式 重点难点:Handler与线程的关系 Handler消息队列的实现 考核目标: 使用Handler是异步的,它会建立新线程么? no Handle ...