Dump 文件生成与分析
来源:互联网 发布:unity3d塔防游戏 编辑:程序博客网 时间:2024/06/18 18:45
Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。
Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。
当我们的程序发布出去之后,在客户机上是无法跟踪自己代码的bug的,所以Dump(扩展名是 .dmp)文件对于我们来说特别有用。我们可以通过.dmp文件把出现bug 的情况再现,然后根据再现的状况(包括堆栈调用等情况),可以找到出现bug的行号,甚至是出现bug的点。
通过研究,我总结了两种方式,如下:
(1)安装WinDBG,具体方式可以参照:http://blog.csdn.net/oeichenwei/archive/2009/05/19/4201590.aspx
(2)通过Windows系统方式(我的是WinXP),参照:http://blog.csdn.net/wangyangtao/archive/2010/03/08/5355841.aspx
当然我的方式与以上的两网址里面的不一样(学习以上的基础上做的),我具体做法是:
(1)安装WinDBG
(a)下载安装WinDBG(安装方式不赘述)
(b)打开WinDBG, File/Attach to a process/ 然后再列表中显示需要监视的进程(.exe)
(c)当程序崩溃之后执行 DUMP 命令产生 dmp文件,命令有:.dump /m C:/dumps/myapp.dmp 、.dump /ma C:/dumps/myapp.dmp、 .dump /mFhutwd C:/dumps/myapp.dmp
执行以上就产生了dmp文件
(2)通过Windows系统方式
首先用Dr Watson 在运行中输入drwtsn32.exe –i 安装Dr Watson作为默认应用程序调试程序。
再在在运行中输入drwtsn32.exe 设置: 如图:
日志文件路径为 所要放置dump文件的文件夹,故障转储 就是该目录下的dmup文件位置
选择指令和错误数量可以写多点
类型选完整选项选1 2 3 6项
当程序崩溃时,Dr Watson会在设定目录下生成dump文件
通过以上两种方式就生成了DUMP文件,下面就剩下分析了。我们通过两种方式来进行分析
(1)WinDBG方式分析
(a)打开WinDBG,File/Sybolm File Path/ 指定发布EXE 的时候.PDB生成的路径
(b)file/Open Crash Dump/ 打开生成的DMP文件
(c)使用WinDBG的命令来分析Bug, 如命令: !analyze -v
(d)也可以使用快捷栏的功能查看一些变量的基本信息来帮助查看Bug
(2)通过VS2005分析,方法参照网址:http://www.cppblog.com/woaidongmao/archive/2009/10/21/99135.html
以上就是我最近两天研究的一个小节,都是别人的一些成果。 首次写blog,如果有不明白的或者有更高明的方式,希望各位网友赐教!
- Dump 文件生成与分析
- Dump文件生成与分析
- Dump 文件生成与分析
- Dump文件生成与分析
- Dump 文件生成与分析
- Windows下dump文件生成与分析
- dump生成与分析
- 使用WinDBG生成dump文件 WinDBG分析dump文件
- windbg 生成并分析dump文件
- Linux crash dump文件生成与使用
- Linux crash dump文件生成与使用
- Linux crash dump文件生成与使用
- 如何生成dump文件
- ntsd生成dump文件
- dump文件生成---备忘
- windbg生成dump文件
- 如何生成dump文件
- windows生成dump文件
- struts2+ajax 传输用户自定义的对象,而非字符串
- cesium学习笔记之五——Linux下部署cesium项目
- js空串判断
- SpringMVC上传文件
- 常用的JavaScript验证正则表达式
- Dump 文件生成与分析
- 类加载器的父委托机制
- Android 抽屉效果的导航菜单实现
- struts2 s:form标签排版问题
- JVM类加载机制1
- tools:context=".MainActivity的作用
- android 布局文件中控件ID、name标签属性的命名包含“@”、“.”、“+”等等符号的含义
- jquery对combo和radio的操作
- JVM性能调优