本部分介绍 USB 3.0 调试器扩展命令。 这些命令显示 USB 3.0 堆栈中三个驱动程序维护的数据结构中的信息:USB 3.0 中心驱动程序、USB 主机控制器扩展驱动程序和 USB 3.0 主机控制器驱动程序。 有关这三个驱动程序的详细信息,请参阅 Windows 中的 USB 主机端驱动程序。 有关 USB 3.0 堆栈中驱动程序使用的数据结构的说明,请参阅 USB 3.0 数据结构和Windows 8 视频中 USB 调试创新 的第 2 部分。
USB 3.0 调试器扩展命令在 Usb3kd.dll中实现。 To load the Usb3kd commands, enter .load usb3kd.dll in the debugger.
USB 3.0 树
USB 3.0 树包含所有 USB 3.0 主机控制器以及连接到 USB 3.0 主机控制器的所有中心和设备。 下图显示了 USB 3.0 树的示例。
关系图中显示的树有两个 USB 3.0 主机控制器。 请注意,图中未显示的每个设备都是 USB 3.0 设备。 但是,显示的所有设备(包括集线器)都是 USB 3.0 树的一部分,因为每个设备都位于源自 USB 3.0 主机控制器的分支上。
可以将关系图视为两棵树,每个主机控制器各有一棵树。 但是,当我们使用术语 USB 3.0 树时,我们指的是所有 USB 3.0 主机控制器集及其连接的中心和设备。
USB 3.0 调试入门
To start debugging a USB 3.0 issue, enter the !usb_tree command. The !usb_tree command displays a list of commands and addresses that you can use to investigate host controllers, hubs, ports, devices, endpoints, and other elements of the USB 3.0 tree.
Hub commands
以下扩展命令显示有关 USB 3.0 中心、设备和端口的信息。 显示的信息基于 USB 3.0 中心驱动程序维护的数据结构。
- !usb3kd.usb_tree
- !usb3kd.hub_info
- !usb3kd.hub_info_from_fdo
- !usb3kd.device_info
- !usb3kd.device_info_from_pdo
- !usb3kd.port_info
UCX commands
以下扩展命令显示有关 USB 3.0 主机控制器、设备和端口的信息。 显示的信息基于 USB 主机控制器扩展驱动程序维护的数据结构。
主机控制器命令
以下扩展命令显示 USB 3.0 主机控制器驱动程序维护的数据结构中的信息。
- !usb3kd.xhci_dumpall
- !usb3kd.xhci_capability
- !usb3kd.xhci_commandring
- !usb3kd.xhci_deviceslots
- !usb3kd.xhci_eventring
- !usb3kd.xhci_registers
- !usb3kd.xhci_resourceusage
- !usb3kd.xhci_trb
- !usb3kd.xhci_transferring
- !usb3kd.xhci_findowner