Dump 文件生成与分析
近期两天因为项目的须要,研究了一下Dump文件相关的知识,今天做一个小节(因为研究不久而且第一次写blog,希望网友们看到不要见笑)。
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 文件生成与分析的更多相关文章
- Windows下dump文件生成与分析
一. 生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程.右键—>创建转储文件. 此时会在默认的目录下创建出一个dump文件. 可以看出 ...
- dump文件生成与调试(VS2008)
总结一下dump文件生成和调试的方法: 1:用SetUnhandledExceptionFilter捕获未处理的异常,包含头文件<windows.h>.函数原型为: LPTOP_LEVEL ...
- linux 平台core dump文件生成
1. 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. root@hbg:/# ulimit -c0root@hbg:/# 2.使用ulimit -c ...
- Dump文件的生成和使用
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lk142500/article/detai ...
- 调试SQLSERVER (一)生成dump文件的方法
调试SQLSERVER (一)生成dump文件的方法 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置调试SQLSERVER (三)使用Windbg调试SQLSERVER ...
- dotnet core调试docker下生成的dump文件
最近公司预生产环境.net core应用的docker容器经常出现内存暴涨现象,有时会突然吃掉几个G,触发监控预警,造成容器重启. 分析了各种可能原因,修复了可能发生的内存泄露,经测试本地正常,但是发 ...
- Windbg内核调试之四: Dump文件分析
Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...
- 记录linux 生成crash dump文件步骤
执行文件编译时加入-g 命令 例如 g++ -g test.cpp 查看当前系统限制情况 ulimit -a 设置crash dump 文件大小 ulimit -c unlimited unlimit ...
- 干货分享丨jvm系列:dump文件深度分析
摘要:java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因.那么dump文件的内容是什么样的呢? JVM ...
随机推荐
- select控件变成可输入状态
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Win7系统下完全删除Mysql
今天不知为什么Mysql服务器突然连接不上,于是胡乱折腾了一番,导致最后不得不重新安装Mysql.安装不成功,服务器起不来,就是最后那步的时候服务器启动不了,这是因为Mysql在卸载的时候没有彻底卸载 ...
- nginx 一般配置实例 静态页面
# 使用的用户和组 user www www; # 指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍,例如两个四核CPU,则总核数为8) worker_processes 8; # 指定错误日 ...
- ubuntu更新源
源一定要找对应的版本 14.04对应 trusty deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multive ...
- 最新发布C#.NET快速开发框架企业版V4.0 (适合开发ERP、进销存系统)
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度网盘: ...
- ipconfig的C语言实现
首先,这篇文章实现了两种方法查询IP,实现截图如下: 第一种方法时调用系统命令,代码如下: #include <cstdlib> #include <iostream> usi ...
- JSP的优势与劣势浅析
本文简单介绍了JSP技术,并对JSP的优势与劣势进行了简单的分析.JSP页面由HTML代码和嵌入其中的Java代码所组成. JSP(JavaServer Pages)是由Sun Microsystem ...
- 物联网操作系统 - Zephyr
What is Zephyr? Zephyr Project is a small, scalable real-time operating system for use on resource-c ...
- 关于C#的委托
作者 陈嘉栋(慕容小匹夫) 阅读目录 0x00 前言 0x01 从观察者模式说起 0x02 向Unity3D中的SendMessage和BroadcastMessage说拜拜 0x03 认识回调函数 ...
- C++ Primer 随笔 Chapter 2 变量和基本类型
2.1C++内置类型 C++ 算术类型 类型 含义 最小存储空间(随机器不同而不同) bool 布尔型 --- char 字符型 8位 wchar_t 宽字符型 16位 short 短整型 16位 i ...