admin 管理员组

文章数量: 1184232



Windows下Dump文件分为两大类,内核模式Dump和用户模式Dump。内核模式Dump是操作系统创建的崩溃转储,最经典的就是系统蓝屏,这时候会自动创建内核模式的Dump。用户模式Dump进一步可以分为Full Dump和Minidump。Full Dump包含了某个进程完整的地址空间数据,以及许多用于调试的信息,而Minidump则有许多类型,根据需要可以包含不同的信息,有的可能只包含某个线程和部分模块的信息。在程序开发过程中出现的应用崩溃属于用户模式Dump。

Dump文件是进程的内存镜像,与Linux 中的 core 文件类似;往往程序在异常(cpu占用高、死锁、崩溃等)时我们都可以借助dump文件来进行分析,也就是通过查看当时各个线程的内存、堆栈情况,还原“案发现场“。那我们一般怎么能在程序异常的时候得到我们想要的dump文件呢? 本文接下来将介绍四种比较常见的方式;

1、手动生成

这个一般在程序异常但没有退出的情况下我们可以采用手动生成,例如,生成Chrome进程的dump 文件;

注: 使用任务管理器生成转储文件需要遵循一个原则:用32位任务管理器给32位进程(无论该进程是运行在32位还是64位系统上面)生成转储文件,用64位任务管理器给64位进程生成转储文件。在64位系统上,32位的任务管理器位于 C:\Windows\SysWOW64\taskmgr.exe

1)打开任务管理器

​      64位默认打开的任务管理器是64位的,如下所示:
如果需要给32位进程生成dump文件,则需要进入C:\Windows\SysWOW64 目录,手动执行taskmgr.exe 程序,如下,任务管理器后面会多出个 32 位:

2)右键选中异常进程,选择创建转储文件,如下即可:

默认路径: C:\Users\用户\AppData\Local\Temp,进入该目录我们就能看到刚才生成的chrome.DMP文件。

注: 这里也不是说必须这样做,如果我们拿到一个64位任务管理器给32位程序转储的dump 文件怎么办呢?这个将会在下一篇《Windows下dump 文件的分析》中作介绍。

2、修改注册表

1) Win + R 输入regedit打开注册表

2)找到注册表路径:

本文标签: 位任务管 文件 编程