windbg分析蓝屏无输出?使用驱动程序验证程序定位故障
当使用windbg分析dump文件却没有任何明确输出时,通常是因为蓝屏是由某个底层驱动程序触发,但生成的转储文件仅记录了通用的windows系统文件。这种情况下,即便更换内存条也无法解决问题,因为故障源头可能隐藏在不稳定的第三方驱动中。

1. 开启驱动程序验证程序 (Verifier)
通过windows自带的验证工具强制系统扫描不稳定的驱动,是定位隐蔽蓝屏原因最有效的手段。在操作前,请务必先创建一个系统还原点,防止系统因验证触发崩溃而无法进入桌面。
1、按下win + R键,输入verifier并回车。
2、在弹出的窗口中选择创建自定义设置(适用于代码开发人员),点击下一步。
3、勾选以下关键检测项:
池跟踪、I/O验证、死锁检测、DMA检查、安全检查。
强制挂起的I/O请求、IRP日志记录、杂项检查、DDI合规性检查。
4、选择从列表中选择驱动程序名称,点击下一步。
5、点击提供程序进行排序,勾选所有非Microsoft Corporation的驱动程序。
6、点击完成并重启电脑。
2. 收集崩溃信息
重启后,驱动程序验证程序会开始后台监控。此时请正常使用电脑,直到系统发生蓝屏。如果这个工具成功捕捉到违规操作,它会强制系统停止运行并生成一个新的、包含具体驱动名称的dump文件。建议让系统经历2-3次这种崩溃,以便获取更完整的样本。
这个过程可能会让系统运行速度变慢,或者在开机时就直接进入蓝屏,这属于正常现象,说明验证工具已经发现了异常驱动。
3. 还原系统环境
完成数据收集后,必须手动关闭验证工具,否则系统会一直处于高负载的监控状态。
1、以管理员身份打开命令提示符(可以在搜索框输入cmd找到)。
2、依次执行以下两条命令:
verifier /reset
verifier /bootmode resetonbootfail
3、完成后再次重启电脑即可恢复正常模式。
如果开启验证后系统卡在开机蓝屏无法进入桌面,请先进入安全模式,然后执行上述命令来停用验证程序。此时生成的dump文件再次放入windbg中分析,通常就能直接看到导致报错的具体驱动文件名了。






