人生第一次写了一个driver,测试了一个多月,就是不通过。driver中有issue就意味着蓝屏或重启,这肯定是不行的。
一次偶然的机会,知道有verifier.exe这个工具,据说它可以测出driver中隐藏的"初级阶段的bug"。
于是上网查了一下它的使用方法,居然没看懂,具体来说就是不知道在哪里看测试结果,于是放弃了使用它。放弃的主要原因其实是觉得这个工具也测不出我driver中的问题,因为它只能测出"初级阶段的bug",我的driver虽然跑不过24 hours测试,但是跑十几个小时是没问题的,所以我觉得应该不会是"初级阶段的bug"。
driver测试仍然不过,沮丧啊......
沮丧中看了下书,书中有提到verifier.exe工具,说如果测到了问题,系统就会蓝屏或重启,然后可以分析dump file。真是笨啊,这么简单的道理,自己怎么没想到呢。
于是用verifier.exe测试了一下自己的driver,很容易就测出了问题的所在,果然是犯了"初级错误"------自己手误,将buffer B写成了buffer A.都是"ctrl+c"和"ctrl+v"惹的祸。
恨死自己了,这么不小了.......
错误的原因往往很简单,隐藏在你认为最不容易出问题的地方。