前言
我们处于核心转储中,我们开始捕获它!本文介绍了一个关键的系统设置。设置后,当系统处于“死亡蓝屏”(BSOD)中时,系统可以自动保存转储文件。当时只简要介绍了设置步骤,本文力图详细介绍相关内容。
让我们首先根据以下查看设置步骤:

系统转储设置
我想知道您是否考虑过这些设置的保存位置?我猜它存储在注册表中。是不是我们一起看。
保存位置
为了找到这些设置的保存位置,我特意使用过程监视器捕获整个设置过程并录制了视频。
转储设置保存位置调查
根据调查结果,转储类型保存在注册表中的以下位置:HKLMSystemCurrentControlSetControlCrashControlCrashDumpEnabled。每个项目的对应值如下:
中文名称和英文名称值
(无)
(无)
小内存转储(256KB)
小内存转储
3
核心内存转储
内核内存转储
2
完成内存转储
完成内存转储
1
自动内存转储
自动内存转储
7
活动内存转储
活动内存转储
1
我们可以发现,完整内存转储和活动内存转储设置的CrashDumpEnabled值实际上是相同的,两者均为1。必须存在其他差异。将过滤条件更改为Path以HKLMSystemCurrentControlSetControlCrashControl开头,


更改过滤条件
继续观察,得到的比较结果如下。

结果比较
经过比较,我们发现当设置为活动内存转储时,注册表项HKLMSystemCurrentControlSetControlCrashControlFilterPages将设置为1;当设置为完成内存转储时,FilterPages子项将被删除。
说明:
在win7和更早的系统中没有自动内存转储和活动内存转储选项。自动内存转储是从win8引入的。主动内存转储是从win10引入的。

win7系统转储设置
说明:
在win7和更早的系统中没有自动内存转储和活动内存转储选项。自动内存转储是从win8引入的。主动内存转储是从win10引入的。
win7系统转储设置
除了指定转储类型,我们还可以进行其他设置。
转储文件:指定转储文件的保存位置。
对于小内存转储,请指定保存转储文件的目录,默认目录为%SystemRoot%Minidump。对于其他转储类型,指定了保存转储文件的路径,默认路径为%SystemRoot%MEMORY.DMP。
“自动重启(R)”选项:如果选中,则系统会在蓝屏后自动重启。
将事件写入系统日志(W)选项:如果选中,则蓝屏事件可以记录在系统日志中。
覆盖任何现有文件(O)选项:如果选中,则具有相同名称的现有文件将被覆盖,否则将不被覆盖(如果已有相同名称的文件,则此蓝色的转储文件屏幕将不会生成)。此选项对小型内存转储无效。
禁止在磁盘空间不足时自动删除内存转储(A)选项:如果选中,即使磁盘空间不足,先前保存的转储文件也不会被删除。该选项在win7中不存在,它是在更高版本的操作系统中引入的。
有关每个项目在注册表中的对应位置,请参考以下代码。将其另存为.reg文件,然后双击以导入它。
Windows注册表编辑器版本5. 00
;将事件写入系统日志。 1表示写作,0表示不写作
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ LogEvent” = dword:00000000
;是否自动重启。 1表示自动重启,0表示没有自动重启
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ AutoReboot” = dword:00000000
;转储类型。有关每个值的含义,请参见上表
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ CrashDumpEnabled” = dword:00000001
;转储文件的保存路径。二进制形式的UNICODE路径。默认值为%SystemRoot%MEMORY.DMP
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ DumpFile” = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f ,00,
74,00,25,00,5c,00,4d,00,45,00,4d,00,4f,00,52,00,59,00,2e,00,44,00,4d,00 ,50,
00,00,00
;保存小内存转储文件的路径。二进制形式的UNICODE路径。默认值为%SystemRoot%MEMORY.DMP
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ MinidumpDir” = hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f ,
00,74,00,25,00,5c,00,4d,00,69,00,6e,00,69,00,64,00,75,00,6d,00,70,00,00 ,00
;已保存的小内存转储文件的最大数量。如果转储文件数超过此值,则将删除最早的转储文件。
;界面上没有相应的设置,只能通过注册表进行修改。
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ MinidumpsCount” = dword:00000005
;覆盖所有现有文件。 1表示不覆盖,0表示不覆盖。对于小内存转储,它不起作用。
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“覆盖” = dword:00000001
;当磁盘空间不足时,禁止自动删除内存转储。 1表示不删除,0表示删除
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
“ AlwaysKeepMemoryDump” = dword:00000000
各种转储类型简介
这些类型的转储的介绍主要是从Microsoft的官方文档翻译而来的,但不完全是。对于那些喜欢阅读英文文档的人,请参阅Microsoft的官方文档。
完成内存转储
包含操作系统使用的所有物理内存。默认情况下不包括平台固件占用的物理内存。为确保可以顺利生成转储文件,请确保引导磁盘上的页面文件大小至少为物理内存的大小+ 1 MB(写入转储文件时需要一些标头信息)。假设物理内存为4GB,我们需要确保初始大小至少为4097MB。当然,将其设置为更大的值都没有关系。我们可以如下设置:
手动设置页面文件大小
活动内存转储

活动内存转储与完整内存转储类似,但是它过滤掉了与故障排除不太相关的页面。由于这种过滤,生成的转储文件通常比完整内存转储小得多。
这种类型的转储文件包含分配给用户请求的其他内存页面。
(Windows Server 2003和更高版本)Windows SKU-例如,“ Professional”或“ Server”。
对于Windows SKU,请参阅链接
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-374792-1.html
坐等消息