当前位置:首页学习教程系统教程认识Dump文件及抓取Dump的方式

认识Dump文件及抓取Dump的方式

一、什么是Dump文件

Dump文件又叫内存转储文件或者叫内存快照文件,是进程的内存镜像。在进程崩溃时或进程有其他问题时,甚至是任何时候,我们都可以通过工具抓取系统或某进程的dump供调试分析用。dump文件中包含了程序运行的模块信息、线程信息、堆栈调用信息、异常信息等数据。当我们的应用程序发布出去,在客户机上出线了问题(崩溃、失去响应、资源消耗过高,性能不理想),由于这些问题不是发生在开发环境下的,这时我们就需要在客户机上想办法抓取dmp文件,拿回来进行分析。windows系统自己出了问题,比如蓝屏了,这时系统会自动产生dump文件,被微软收集分析。

二、Dump文件的分类

  1、内核模式 Kernel-Mode DUMP:操作系统创建的崩溃转储,最经典的就是系统蓝屏

  2、用户模式 User-Mode DUMP :

    Full Dump:某个进程完整的地址空间数据,以及许多用于调试的信息
    Mini Dump:某个线程和部分模块的信息

三、抓取Dump的方式

1、修改注册表来自动生成Dump文件

在注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps 下,添加如下信息

       认识Dump文件及抓取Dump的方式-1

其中DumpType代表的含义是:

0 = Create a custom dump  
1 = Mini dump  
2 = Full dump  

一旦某个程序崩溃,系统会在C:\CrashDump下生成一个dump文件。

2、任务管理器创建转储文件

认识Dump文件及抓取Dump的方式-2

 

3、使用VS进行另存转储文件

 调试->附加进程->暂停按钮(全部中断)->调试->将转储另存为…

4、Windbg

 File->Attach to Process->等待进程出现异常->输入命令.dump /f d:\111.dmp另存转储文件

认识Dump文件及抓取Dump的方式-3

 

认识Dump文件及抓取Dump的方式-4

5、还有很多种方式例如:procdump,DebugDiaAdPlus ,gflags 等抓取Dump,就不一一介绍了,如果对哪个工具感兴趣,请自行研究。

个人中心
今日签到
有新私信 私信列表
搜索