WDK驱动调试问题点滴

 
微软的文档: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-a-usb-3-0-debug-cable-connection
 
1,调试驱动时要先打开testsiging,命令为: bcdedit /set testsigining on
 
2,bcdedit命令执行失败,说由于安全策略的保护,执行失败,解决方法:关掉Secure boot
 
3,新装的系统不能安装开发好的驱动,安装时设备管理器提示当前没有更好的驱动。这时 需确认我们使用的签名是否已经安装在测试机中,并安装在受信任的存储位置。
         同时要使用 bcdedit -set testsigning on 命令来启用测试签名。测试签名启用以后有的驱动可以直接安装,有的驱动需要安装签名以后才能安装。
4,关掉secureboot之前先要关掉bitlocker,否则重启后无法进入系统。
5,dbgView或者用kernel debugger连接以后在windbg中,不能看到驱动打印的LOG,需增加如下注册表信息:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter,找到注册表的这个项,在我机器上是没有Debug Print Filter子项的,手动建好,在这个键下新建default的dword值,十六进制为0XF,然后重启电脑,就可以看到日志输出了。
 
UMDF消息显示的开关在:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\
 
6,USB kernel debugger连接不上的排查
1)按WDK文件中所说,先在目标机上设置(test为任意名称, busparams后的字符串是用usbview查找调试线插入的USB根HUB上的信息):
bcdedit /debug on
bcdedit /dbgsettings usb targetname:test
bcdedit /set "{dbgsettings}" busparams 0.20.0
2)主控机上启动windbg时,第一次一定要使用admin权限启动与主控机CPU指令集一致版本(如X86,X64,ARM等),否则“USB Connection Device”不能自动安装。
3)做完之前的设置,打开windbg,选USB kernel debugger, windbg中如果显示:USB: Write opened,就说明已经建立了连接,不需要重启目标机。WDK的文档里说的重启,只是说明下次重启时它会自动连接。
4)如果不能建立连接,或者插入USB线以后PC机上的USB HUB不能正常工作(设备管理器中显示叹号)。需要关闭两端的USB口(调试用到的)的电源管理页中的 “允许计算机关闭此设备以节约电源”(清除该文字前边的勾选)
5)如果还有问题,可以把USB线换到其它USB口上试试,我就为此花过挺多时间。
6)记得一定要用USB3.0的交叉线。判断是否是USB3.0的方法:
USB3.0交叉线一旦插入,主控机上会显示“USB Connection Device”连接。非3.0版本的线插入后设备管理器里不会有反应。
 
 
 

你可能感兴趣的:(WDK驱动调试问题点滴)