[debug_master] 使用USB 3.0进行windbg调试

1. 名词约定

  • 目标机(target):被调试机器
  • 主机(host):运行调试工具(windbg)的机器

2. 系统要求

1> USB 3.0调试线
特殊定制的USB 3.0 AM-AM线缆,淘宝可以直接买到,链接: https://shop129099241.taobao.com
2> 操作系统
Windows 8 或 Windows Server 2012以上版本(主机,目标机)
3> 目标机
支持调试(参考"设置目标机"一节)的xHCI(usb 3.0)控制器
4> 主机
xHCI(usb 3.0)控制器

3. 设置目标机

1> 在目标机上运行UsbView
2> 找出所有的xHCI Controller
3> 查找xHCI Controller下的Port,找到支持调试的端口

[Port10] 
Is Port User Connectable:         yes
Is Port Debug Capable:            yes
Companion Port Number:            1
Companion Hub Symbolic Link Name: ...
Protocols Supported:
 USB 1.1:                         no
 USB 2.0:                         no
 USB 3.0:                         yes
ConnectionStatus:      NoDeviceConnected

需满足

UserConnectable == yes And DebugCapable == yes

4> [可跳过] 记录下此Port对应的xHCI Controller的BDF值(十进制)

Bus.Device.Function (in decimal): 0.20.0

5> 找出电脑上这个Port对应的插口。用一个usb 3.0的u盘去试你电脑上的usb口,如果在usbview里显示插到了支持调试的口上,就可以了。
6> 使能usb debug,两种方法

方法1:图形界面配置 (推荐)
6.1> Ctrl+R,运行msconfig,回车
6.2> 按下图配置
在这里插入图片描述

方法2:命令行配置
6.1> 管理员权限打开cmd,运行

  • bcdedit /debug on
  • bcdedit /dbgsettings usb targetname:TargetName
    TargetName可任意指定,长度必须小于24个字符,只能包含-, _, 0-9, a-z, A-Z

6.2> [可跳过] 如果你的电脑上不止一个usb controller,额外输入

bcdedit /set "{dbgsettings}" busparams b.d.f

b.d.f为第4步中获得的数字,同样为十进制
在我们的例子里,

bcdedit /set "{dbgsettings}" busparams 0.20.0

6.3> [可跳过] 核对设置

  • bcdedit /dbgsettings
  • bcdedit /enum

7> 重启

3. 设置主机

1> 使用usb调试线连接目标机和主机的usb 3.0接口。主机端可以用Hub,但必须使用3.0的Hub接在3.0的端口上。
2> 检查主机系统是32位还是64位的,运行相同位宽的windbg。如果您是第一次设置,务必使用管理员权限
3> 打开File菜单,选择Kernel Debug. 打开USB标签,输入你上面设置的TargetName,如abc,点击OK.
4> 如果是第一次,会自动安装驱动
5> 在主机的设备管理器里,会看到:
host_device_manager

4. 故障排除

1> 尝试主机和目标机上不同的usb3.0 口
2> 关闭主机xHCI Controller的省电模式
2.1> 打开设备管理器,按connection排序。找到xHCI Controller,右键,属性。电源管理标签,Allow the computer to turn off this device to save power的勾去掉。
2.2> 再找到xHCI Controller下面Root Hub的节点。右键,属性。电源管理标签,Allow the computer to turn off this device to save power的勾去掉(同上)。
3> 检查是否以管理员权限运行 windbg,32/64位是否选对。


[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-a-usb-3-0-debug-cable-connection

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值