平台
- host: Windows 10 20H2 x64
- target: Windows 10 2004 x64
工具
Windbg Preview
USB3.0 U盘一个
USB3.0 DEBUG CABLE 线一根(某宝上有卖)

要求
双机均需要支持USB3.0可调试 的端口
正文:
​ 首先使用Windbg调试器目录下的usbview.exe查察符合USB XHCI 的主机控制器下的端口。

可以看到,这里端口有点多。现实上我电脑上可用的usb接口,就只有3个。那么怎样确定哪个端口是usb3.0接口并且支持调试呢。
这里可以通过插入一个usb3.0的U盘来确认端口,以及确认电脑哪个usb接口对应着哪个端口。

由上图圈出的部分,可以知道该14号端口支持调试,且协议是3.0的。
两台机器都确认要求无误后再举行下一步操作。
打开设备管理器,找到通用串行总线控制器下的USB根集线器(USB3.0), 然后右键属性,如果有电源管理选项卡,请打开该选项卡,并扫除“允许计算机关闭此设备以节省电源(A)”复选框,然后点击确认。

以上操作两台机器均需要举行,下面的内容则分host和target。
target端:
管理员运行cmd.exe,依次输入以下命令
bcdedit /debug ONbcdedit /bootdebug ONbcdedit /dbgsettings usb targetname:KernelTesthost端:
管理员运行windbg preview,因为第一次创建调试环境Windbg需要为一个设备安装驱动。
接下来选择附加到内核,然后使用USB调试,输入上面命令中给入的targetname的名字,我起的名字是KernelTest, 点击OK,调试器进入等待连接。


创建连接
接下来将usb调试线分别连接到host和target机器的支持调试的usb3.0接口上。
然后重启target机器。如果顺利就会连接上。不顺利的话,可能会出现以下情况,在设备管理器中,发现USB Debug Connection Device设备有个黄色感叹号,且设备状态里提示驱动为署名,那么请按下win键,然后选择电源,按住shitf键,选择重启host机器,禁用驱动署名。


重新打开windbg preview,然后就成功断下了。

其他问题
- 如果中途windbg断开了,建议host端搞个纯净的体系试试,先排除其他软件的影响。
- 如果是断下来了,进入登录界面就断开了连接,查找下target端是否有什么软件影响,可在启动界面前,windbg断下,等待一段时间,看看是不是也会主动断开。一步步的查,服务包括驱动,如果有可疑的,需要禁用试试。
- 如果你的体系中有多个usb controller(一般只有一个),则需要你指定当前调试用的usb Controller 命令如下
bcdedit /SET "{dbgsettings}" busparams b.d.f
b d f 是PCI设置信息中的bus, device, function简写,可以在usbview查察xCHI节点的信息获取到Bus.Device.Function (in decimal): 0.20.0
usbview.zip
256.09 KB, 下载次数: 63, 下载积分: 吾爱币 -1 CB
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |