除了使用windbg调试Windows驱动程序,调用函数 DbgPrint 通过Dbgview 查看驱动日志也是很常用的手段。XP系统下打印日志很方便。但是Win7或者Win7以上系统就麻烦一些。步骤如下:
1 调用带Ex后缀的打印函数,类似 DbgPrintEx(DPFLTR_IHVDRIVER_ID,DPFLTR_TRACE_LEVEL,"DriverEntry \n");
2 调试驱动的机器开启日志,这个是通过增加注册表键值达到目的的。可以导入以下内容到注册表或者手动输入均可。值为 f 表示开启全部level的日志都打印。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug PrintFilter]
"DEFAULT"=dword:0000000f
3 编译Checked调试版本的驱动程序。
如果是32位系统,可以签名,也可以不签名,个人建议都签名。
5 在需要调试驱动的机器上使用管理员权限打开 Dbgview,记得要勾选如下选项。