在开发过程中,总会遇到开机后系统卡死的问题,针对这类问题,可以手动触发蓝屏,通过dump分析来看具体是什么问题。
手动蓝屏设置步骤:
1、首先,打开开始菜单,输入“regedit”进行搜索并打开注册表编辑器
2、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters下创建一个DWORD项CrashOnCtrlScroll,值为1。
3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters下创建一个DWORD项CrashOnCtrlScroll,值为1。
4、系统属性→高级→启动和故障恢复→写入调试信息,需要开启。
5、设置完毕后重启电脑
6、连续按两次Ctrl(右侧)+Scroll Lock触发蓝屏并写入dump。
7、转储设置项参考
1)小内存转储
错误检查信息和参数,以及其它蓝屏数据。
崩溃的处理器上下文(PRCB)。
崩溃进程的进程信息和内核上下文(EPROCESS)。
崩溃线程的线程信息和内核上下文(ETHREAD)。
崩溃线程的内核模式调用堆栈。如果它大于 16 KB,则只包含最前面的 16 KB。
加载的驱动程序列表。
2)核心内存转储
包含了系统崩溃时内核所使用的物理内存。不包括未分配的内存,或分配给用户态应用程序的任何内存。它只包括分配给 Windows 内核和硬件抽象层(HAL)的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存。
3)完全内存转储
包含操作系统使用的所有物理内存,默认不包含平台固件占用的物理内存。
4)自动内存转储
自动内存转储包含与核心内存转储的信息。 两者之间的差异不在转储文件本身中,而是Windows设置系统分页文件的大小的方式。如果系统分页文件大小设置为系统托管大小,并且内核模式故障转储设置为自动内存转储,则Windows可以将分页文件的大小设置为小于 RAM 的大小。
在这种情况下,Windows设置足够大的分页文件的大小,以确保大部分时间都可以捕获内核内存转储。
5)活动内存转储
活动内存转储 类似于完整内存转储,但是会过滤掉不太可能与排除故障相关的页面。
这种类型的转储文件包含分配给用户模式应用程序的任何内存。它还包括分配给 Windows 内核和硬件抽象层(HAL)的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存。