The !usb3kd.usb_tree extension displays information, in tree format, about all USB 3.0 controllers, hubs, and devices on the computer.

!usb3kd.usb_tree [1]


The display includes status information for hubs and ports.


The following screen shot shows the output of the !usb_tree command.

output of the !usb-tree command showing topology enumerated device and hub list

The output shows that there is one USB 3.0 host controller, which is represented by the line that begins with !xhci_info. The next line represents the root hub for the host controller. The next four lines represent ports associated with the root hub. You can see that two ports have devices connected.

The output uses Using Debugger Markup Language (DML) to provide links. The links execute commands that give detailed information about individual objects in the tree. For example, you could get information about one of the connected devices by clicking one of the !device_info links. As an alternative to clicking a link, you can enter a command. For example, to see information about the first connected device, you could enter the command !device_info 0xfffffa8004630690.

Note The DML feature is available in WinDbg, but not in Visual Studio or KD.




The !usb_tree command is the parent command for this set of commands.

The information displayed by the !usb_tree family of commands is based on data structures maintained by the USB 3.0 hub driver. For information about the USB 3.0 hub driver and other drivers in the USB 3.0 stack, see USB Driver Stack Architecture. For an explanation of the data structures used by the drivers in the USB 3.0 stack, see Part 2 of the USB Debugging Innovations in Windows 8 video.

See also

USB 3.0 Extensions

Universal Serial Bus (USB) Drivers