Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线

0x1 使用USB3.0 调试线,进行windows双机内核调试

从win8开始,windows就引入了USB 3.0的内核调试 ,速度可以说爽的一批。不过能否支持USB3.0的调试,还需要看你的机器配置。

 

 

Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线_第1张图片

 

怎么知道知否支持USB3.0调试? 

Host端 :

   1 系统,WIN8 以及以上

   2 Target机器带有 xHCI 控制器,即USB3.0的接口

Target端:

   1 系统,WIN8 以及以上

   2 Target机器带有 xHCI 控制器,即USB3.0的接口

   3 Target机器的USB3.0的port支持调试。使用usbview.exe查看对应的USB3.0 port,需满足下列三个Yes

     Is Port User Connectable:         yes
     Is Port Debug Capable:            yes
        USB 3.0:                         yes

如果上面的条件都满足,恭喜你,你可以使用USB 3.0 的内核调试之旅了。

 

 USB3.0 windbg 内核调试线可以在淘宝购买,链接https://item.taobao.com/item.htm?ft=t&id=618941145412

 

 

0x2  使用USB 3.0 连接Host和Target端符合条件的USB3.0 port

 

 

0x3 目标计算机设置

 使用bcdedit更改引导信息之前,您可能需要暂时挂起Windows PC安全功能,例如关闭BitLocker和secure boot。

  

  1. (可选)记下要用于调试的xHCI控制器的总线,设备和功能编号。UsbView.exe可以显示这些数字。在以下示例中,总线号为48,设备号为0,功能号为0。

     
    USB xHCI Compliant Host Controller
    ...
    DriverKey: {36fc9e60-c465-11cf-8056-444553540000}\0020
    ...
    Bus.Device.Function (in decimal): 48.0.0
    
  2. (可选)确定支持调试的xHCI控制器后,下一步是找到与xHCI控制器上的端口关联的物理USB连接器。要找到物理连接器,请将任何USB 3.0设备插入目标计算机上的任何USB连接器。刷新UsbView以查看设备的位置。如果UsbView显示您的设备已连接到所选的xHCI主机控制器,则您已找到可用于USB 3.0调试的物理USB连接器。

  3.  在目标计算机上,以管理员身份打开“命令提示符”窗口,然后输入以下命令:

  • bcdedit /debug on

  • bcdedit /dbgsettings usb targetname:TargetName

                其中TargetName是建立的调试名称。请注意,TargetName不必是目标计算机的正式名称。只要满足以下限制,它就可以是您创建的任何字符串:

  • 该字符串在大写字母或小写字母的任意组合中,不得在TargetName中的任何位置包含“debug”字样。例如,如果您在目标名称中的任何地方使用“ DeBuG”或“ DEBUG”,则调试将无法正常进行。
  • 字符串中唯一的字符是连字符(-),下划线(_),数字0到9和字母A到Z(大写或小写)。
  • 字符串的最大长度为24个字符。

               也可以通过msconfig.exe进行配置

     

Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线_第2张图片


 

             4.(可选) bcdedit /set "{dbgsettings}" busparams b.d.f

                  其中bdf是USB主机控制器的总线,设备和功能号。总线,设备和功能编号必须为十进制格式。

                  例:bcdedit /set "{dbgsettings}" busparams  48.0.0

             5. 重新启动目标计算机。

 

0x4  主机端的配置

  1. 将通用串行总线(USB)3.0调试电缆连接到在主机和目标计算机上选择用于调试的USB 3.0端口。(如果前面没有连接,我们这里必须要连接Host和Target端了)
  2. 确定主机上运行的Windows的位数(32位或64位)。
  3. 在主机上,打开与主机上运行的Windows位数匹配的WinDbg版本(以管理员身份)。例如,如果主机运行的是64位版本的Windows,则以管理员身份打开WinDbg的64位版本。(首次调试必须管理员启动windbg)
  4. 文件菜单上,选择内核调试。在“内核调试”对话框中,打开“ USB”选项卡。输入设置目标计算机时创建的目标名称。单击确定

             此时,USB调试驱动程序已安装在主机上。这就是为什么将WinDbg的位数与Windows的位数进行匹配很重要的原因。安装USB调试驱动程序后,可以将32位或64位版本的WinDbg用于后续的调试会话。

        Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线_第3张图片

0x5 连接成功

Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线_第4张图片

0x6 故障排除

         0x6.1  HOST端。在一些win10的HOME版本,usb2dbg.sys没有签名或者签名不正确。请从别的正常的版本拷贝一个过来覆盖掉。

 

 

你可能感兴趣的:(windbg,软件调试)