驱动开发杂记1

安装驱动的时候刚开始不要设置为随机启动

一般来说新建的驱动是KMDF Driver类型在WDF节点下面

编译选项记得改下,否则直接蓝屏

使用dbgview捕获驱动输出

1.首先,在注册表中设置:HKLM/SYSTEM/CurrentControlSet/Control/Session Manager,打开或者创建子项Debug Print Filter,然后新建一个DWORD值DEFAULT,将其设置成0xF,重启即可。

完成上述设置后,user mode下的程序的TRACE信息就可以看到了,如果要查看kernel mode下的程序的调试信息,还需要做以下设置

2. 在DebugView中将菜单选项 Capture -> Capture Global Win32勾上即可(针对服务)。

去掉默认的数字签名

驱动源码调试

1.待调试主机启动到系统启动选择,选择 "XXX Debug" 项,先不要按回车。

2.双击前面创建的那个快捷方式启动WinDBG(此时)。

3.此时按下回车,稍等片刻,就连接上了。如果很长时间没有连接上的话,可以按 WinDbg 菜单中的 "Debug"->"Kernel Connection"->"Resynchronize"。

4.最后当WinDbg显示与虚拟机连接上之后按 WinDbg 菜单中的 "Debug"->"Break" ,就会中断下来,命令输入窗口变为可用状态,你就可以向 WinDbg 下命令了。

想预先在入口处打断点的话,可以使用bu XXXX!DriverEntry

查看变量值,可以使用View -> locals或者Alt+F3

原文地址:https://www.cnblogs.com/ultracpp/p/5495530.html