Windows 驱动程序验证程序如何工作以及如何运行它?

Windows 驱动程序验证程序如何工作以及如何运行它?

今天我发现了一个程序叫“Windows 驱动程序验证程序”在 Windows 组件中。在 Windows 上,我可以确定它是进程Verifier.exe。据我所知,它的主要功能是测试和强调 Windows 驱动程序,查找发生的任何错误:

“驱动程序验证器是 Microsoft Windows 中包含的一个工具,它用专门为捕获设备驱动程序错误而开发的子程序替换默认的操作系统子程序。”

我尝试运行它,但我不明白它是如何工作的...我按照它的步骤操作,在最后一个屏幕上,它告诉我重新启动我的机器。我照做了,但什么也没发生。

那么,有人之前已经使用过这个程序吗?它是如何工作的,我可以用它来运行什么样的测试?

答案1

嗯,你已经说明了它在最基本的层面上是如何工作的(通过替换 Windows系统调用)您发布的链接很好地解释了它的作用以及它可以测试什么:

它可以模拟某些条件,例如低内存、I/O 验证、池跟踪、IRQL 检查、死锁检测、DMA 检查、IRP 日志记录等。

它还对其工作原理进行了更详细的概述:

一旦启用,它会监视并强调驱动程序,以检测可能导致系统损坏的非法函数调用或操作。

...

验证器的工作原理是强制驱动程序使用最少的资源工作,使得工作系统中很少发生的潜在错误立即显现出来。

如何使用它:

通常,致命的系统错误是由测试环境中的压力驱动程序产生的,生成可立即分析和调试的核心转储;如果没有适当的故障排除设施或人员,现场很容易发生间歇性故障。

如果您没有进行内核或驱动程序开发,我认为这对您没有多大用处(除了可能强调您的驱动程序并确定是否存在不稳定的情况。)这是因为它要求您了解如何分析核心转储。

如果你决定使用它,“微软建议不要同时验证所有驱动程序。”

这里有优秀的教程

答案2

它用于测试自定义和可能存在故障的驱动程序。您已将其打开并重新启动,现在它会在您使用驱动程序时对其进行分析和调整,这样如果它们给您带来麻烦,您将获得更多信息(更好的转储)来帮助找出故障所在。

让它继续运行(当没有主动尝试诊断某些事情时)将会降低系统速度。

无论如何 - 有关它的信息以及如何使用它由 MS 提供这里(“关于驱动程序验证程序”)和这里(“使用驱动程序验证程序为高级用户识别 Windows 驱动程序的问题”)。

这里也有一些很好的信息(尽管它是以 XP 为中心的):“Windows XP 的设备驱动程序验证程序的工作原理“。

还请查看过时的http://www.windbg.info/有很多有趣的 Windows 调试信息。:)

答案3

我像您一样出于好奇打开过一次驱动程序验证程序...然后我就忘了。我属于每月或更少重启一次电脑的人,当终于到了重启的时候,我得到了一个非常严重的蓝屏(由更严格的驱动程序检查引起)。我设法进入安全模式并通过注册表编辑禁用它。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager

尽力记住那条路径,否则当出现问题时你就会陷入困境。

相关内容