写不论什么程序动态调试是很重要的。驱动开发也不例外。
通常如今写驱动的时候,都是在VM上跑的,调试手段基本也是本地windbg + 虚拟机。
虚拟机配置
我用的是win7,
第一步,看以下。成功运行后,会提示:
The entry was successfully copied to {xxxxxxxxxxxxxxxxxxx}
第二步:
继续在CMD中输入bcdedit /debug {xxxxxxxxxxxxxxxx} on
{xxxxxxxxxxxxxx}就是前面一步输出的GUID,用来唯一标识这个启动入口。
这样即可了,能够用bcdedit /dbgsettings来查看
VM配置
须要给VM配置一下,
先添加一个串口配置
选择output to namedpipe
输入一个名字
WinDbg连接
从file菜单里面点击Kernel debug
点击ok。
然后启动VM,选择刚才新加的启动入口
登录Windows后,启动驱动,就会发现Windbg里面能够看到log了。
在Windbg里面打开源文件,再设置pdb文件,就能够单步跟踪了。使用windbg能够大大提高开发效率。