(请保留->发布地址: http://yiiyee.cn/blog/author/luobing/ )
近期UEFI探索系列没有更新,忙着处理北京的案子以及帮忙朋友做一个IO驱动。开发完成后,我不知道怎么去测试稳定性了。问道于张佩,他建议用Verifier进行测试。
正好去上海有事,周末拉着张佩来教我如何测试和调试。过程就不赘述了,我把使用Verifier的过程记录下来,以备未来查看。
Driver Verifier不需要下载,它包含在大多数windows的发行版本中。在%WinDir%\system32\下可以找到,比如这是我工作的操作系统:
在微软的网站上,很详细的说明了在哪些情况下需要使用Driver verifier。具体可以参考网页:https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/driver-verifier。
1 设定Verifier测试项
我所用的驱动是Nt driver,首先要将驱动加载起来,在Verifier中才能找到。
以管理员权限运行cmd.exe,输入verifier.exe,启动verifier:
如图中红线所标识的,有两种方式创建设置。我期望可以自由选择测试项,因此选择“创建自定义设置”,并点击“下一步”:
Verifier列出了各种验证选项。我一般的做法是先选择其中一半选项进行测试,看驱动运行过程中会不会蓝屏。如果测试中没有蓝屏,则选择另外一半;如果蓝屏,则减少选项,直到找出使得驱动蓝屏的选项为止。
当然,导致测试驱动蓝屏的选项可能又好几个,一个个找吧,然后利用Memory Dump和windbg找出问题所在。
再“下一步”,对测试选项的细节进行配置,这里选择缺省配置即可。继续下一步:
我需要指定测试的驱动,选择“从一个列表选择驱动程序名”。从列表中选择需要测试的驱动:
点击“完成”,重新启动操作系统,设置就完成了。
2 测试驱动
设置完成后,就可以对驱动进行验证了。
自己写一个使用驱动的例子程序,用来测试驱动的功能。以我使用的IO端口访问,主要是测试应用程序通过驱动访问物理端口,比如0x70,0x71访问CMOS RAM。
如图:
3 关闭verifier测试
Verifier在运行的时候,会占用不少系统资源。测试完后,最好把设置删除掉。
启动verifier,选择“删除现有设置”,重启系统即可生效。
4,137 total views, 1 views today