Windows驱动稳定性测试

(请保留-> 作者: 罗冰)

近期UEFI探索系列没有更新,忙着处理北京的案子以及帮忙朋友测试一个IO驱动。代码审查完,找不出什么问题。windows的驱动除了直接测试外,是否有其他好的测试方法,我不是很熟悉。问道于张佩,他建议用Verifier进行测试。

正好去上海有事,周末拉着张佩来教我如何测试和调试。过程就不赘述了,我把使用Verifier的过程记录下来,以备未来查看。

Driver Verifier不需要下载,它包含在大多数windows的发行版本中。在%WinDir%\system32\下可以找到,比如这是我工作的操作系统:

图1 verifier.exe的位置

在微软的网站上,很详细的说明了在哪些情况下需要使用Driver verifier。具体可以参考网页:https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/driver-verifier

设定Verifier测试项

我所用的驱动是Nt driver,首先要将驱动加载起来,在Verifier中才能找到。

以管理员权限运行cmd.exe,输入verifier.exe,启动verifier:

图2 verifier.exe的启动界面

如图中红线所标识的,有两种方式创建设置。我期望可以自由选择测试项,因此选择“创建自定义设置”,并点击“下一步”:

图3 各类测试选项

Verifier列出了各种验证选项。我一般的做法是先选择其中一半选项进行测试,看驱动运行过程中会不会蓝屏。如果测试中没有蓝屏,则选择另外一半;如果蓝屏,则减少选项,直到找出使得驱动蓝屏的选项为止。

当然,导致测试驱动蓝屏的选项可能又好几个,一个个找吧,然后利用Memory Dump和windbg找出问题所在。

再“下一步”,对测试选项的细节进行配置,这里选择缺省配置即可。继续下一步:

图4 选择驱动程序

我需要指定测试的驱动,选择“从一个列表选择驱动程序名”。从列表中选择需要测试的驱动:

图5 选择需要测试的驱动

点击“完成”,重新启动操作系统,设置就完成了。

测试驱动

设置完成后,就可以对驱动进行验证了。

自己写一个使用驱动的例子程序,用来测试驱动的功能。以我使用的IO端口访问,主要是测试应用程序通过驱动访问物理端口,比如0x70,0x71访问CMOS RAM。

如图:

图6 测试驱动

关闭verifier测试

Verifier在运行的时候,会占用不少系统资源。测试完后,最好把设置删除掉。

图7 关闭测试设置

启动verifier,选择“删除现有设置”,重启系统即可生效。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luobing4365

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值