前言
我们在内核转储,开抓啦!这篇文章里介绍了一个关键的系统设置。设置好后可以让系统在蓝屏(Blue Screen of Death,简称 BSOD
)的时候自动保存转储文件。当时只是简单的介绍了设置步骤,本文力求详细的介绍相关内容。
我们先根据下面的动图回顾一下设置步骤:
![a047fd4cbd4344b59d872fe593447e96.gif](https://i-blog.csdnimg.cn/blog_migrate/a2ee4290bb2c0b808e6ef7afc64ae46e.gif)
不知道大家有没有想过这些设置保存在哪里了呢?我猜保存在注册表里。是不是呢?我们一起来看看吧。
保存位置
为了找到这些设置保存的位置,我特意用 process monitor
捕获了整个设置过程,并录制了一段视频。
根据调查结果可知,转储类型
保存在注册表如下位置:HKLM\System\CurrentControlSet\Control\CrashControl\CrashDumpEnabled
。每一项对应的值如下表:
中文名 | 英文名 | 值 |
---|---|---|
(无) | (None) | 0 |
小内存转储(256KB) | Small memory dump | 3 |
核心内存转储 | Kernel memory dump | 2 |
完全内存转储 | Complete memory dump | 1 |
自动内存转储 | Automatic memory dump | 7 |
活动内存转储 | Active memory dump | 1 |
我们可以发现, 完全内存转储
和 活动内存转储
设置的 CrashDumpEnabled
的值居然一样,都是 1。肯定有其它地方不一样。把过滤条件改为 Path
begins with
HKLM\System\CurrentControlSet\Control\CrashControl
,
![67667d5b3879be646dd056d7c0a50209.png](https://i-blog.csdnimg.cn/blog_migrate/32c1a17dc0f08635324f366672b322ff.png)
继续观察,得到的对比结果如下。
![cc1a73462cbc635cd89df68c98201986.png](https://i-blog.csdnimg.cn/blog_migrate/ee897401591175a1d6a0131770edb476.png)