之前偶然发现很多机器无法使用 WinDBG + USB 3.0 Cable 进行调试。最近花了一点时间仔细研究这个问题。
我遇到的现象是:USB 3.0 调试线连接之后设备管理器中有时候没有新设备出现,有时候出现Yellow Bang ,提示 Port Reset 失败。
经过研究这个问题是我的被调试系统(DUT)中存在多个 XHCI,解决方法是需要指定一个 XHCI 作为被调试目标。在 DUT 中管理员权限打开一个 CMD 窗口,然后输入如下命令:
bcdedit /set "{dbgsettings}" busparams 0.20.0
其中 0.20.0 是Bus:0 Device:20 Func:0 的意思,Intel 芯片组上对应着 XHCI 控制器。解析来工作机上的设备管理器中就会出现 “USB Debug Connection Device”,接下来就可以使用 WinDBG 进行工作了。
参考:
1.https://zhuanlan.zhihu.com/p/405683773 用USB 3.0 + WinDbg开始你的调试之旅
2.https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/bcdedit--dbgsettings BCDEdit /dbgsettings