使用 USB3.0 线 做WinDBG debug

Windows App Store 中推出了新版的 WinDBG,功能上应该和 WDK之类的相同,界面变化很大。

image001
image002

首先用 WinDBG USB 3.0 线将Host(控制端,运行 WinDBG)和Slave(被控制端)连接起来;和之前 USB2.0 的Debug完全不同,Slave上任何一个USB3.0端口都可以,不需要特别查找 Debug Port 。

下图为 Intel Kabylake HDK 平台
image004

下图为我使用的笔记本工作机
image003

之后,需要在 Slave 上MSCONFIG里面做一些设置:
image005

USB target name 设定为 labz,后面 WinDBG的设置也会使用到。设置之后,Slave会要求重启。
启动Host上面的 WinDBG,使用搜索功能,找到长这样的(一个系统中可以安装多个版本的 WinDBG)

image006

界面和之前相比变化很大,看起来没有那么死板了

image007

在 File 中连接的选项,选择 Attach to kernel, USB 页面Target Name 填写上 labz

image008

点击OK按钮之后,HOST和SLAVE即连接起来了

image009

使用 Break 按钮可以停下来
如果发现无法连接,请检查 HOST 的设备管理器 USB Debug Connection Device设备是否有Yellow Bang。 我遇到了这样的情况,显示的错误信息是驱动未签名

image010

例如:

image011

解决方法是:找一个有签名的驱动安装一下。这里放一个我目前在用的,可以试试看

WinDBGUSBDriver(旧版本)

====================================================

20201124 最近开始使用 WinDBG 惊奇的发现又出现了上面提到的问题,经过研究(https://answersweb.azurewebsites.net/MVC/Post/Thread/045cf703-1dbc-4f3f-9557-cba72af2f548?category=wdk),同样应该是驱动版本导致的。

解决方法是找到最新的 SDK 安装之,然后在安装目录下(默认在C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\usb)可以找到最新的驱动。然后问题就可以解决了。

《使用 USB3.0 线 做WinDBG debug》有7个想法

  1. Hi
    請問你有遇到這個問題嗎?
    ASL code都顯示記憶體位址
    我是用com1連線
    舊版的windbg都沒問題
    但新版的SDK跟APP都有這問題
    The target has requested that the debugger execute a command: !amli err 0xb FFFFF8006238C400 FFFFC2072C2F91B0 0000000000000000 0000000000000000;g

    Kernel base = 0xfffff800`61e00000 PsLoadedModuleList = 0xfffff800`62243290
    Debug session time: Thu Jun 3 14:45:18.551 2021 (UTC + 8:00)
    System Uptime: 0 days 0:00:49.200
    The target has requested that the debugger execute a command: !amli err 0xb FFFFF8006238C400 FFFFC2072C2F91B0 0000000000000000 0000000000000000;g
    The target has requested that the debugger execute a command: !amli err 0xb FFFFC20720A9E040 FFFFC2072BBFCE80 0000000000000000 0000000000000000;g
    The target has requested that the debugger execute a command: !amli err 0xb FFFFF8006238C400 FFFFC2072C2FAD10 0000000000000000 0000000000000000;g

    1. 我也遇到过,后来更换目标机OS 和 SDK 对应上的版本解决的。比如, OS 是 18363 , 拿也要找一个 18363 的 SDK 用里面的 WinDBG。

    1. 我试验过,普通的 USB A to A 就可以。 不过稳妥起见(主要是普通线VCC 是联通的),推荐你买专用线,淘宝有一家的你可以试试看。

      1. 谢谢,我也试了一下,要普通的USB 3.0 A to A 配合USB 3.0的口可以用,2.0的还是要专门的线,而且普通的线好像速度挺慢的。还有博主有试过用net的方式连接吗,我重启目标机以后一直不会重新连接,找不到哪里出问题了,还是我等待的时间不够长0.0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注