!usbkd.usbhuberr

The !usbkd.usbhuberr command displays a USB hub error record.

!usbkd.usbhuberr StructAddr

Parameters

StructAddr
Address of a usbhub!_HUB_EXCEPTION_RECORD structure.

DLL

Usbkd.dll

Examples

Here is one way to find the address of a usbhub!_HUB_EXCEPTION_RECORD. First enter !usbkd.usb2tree.

0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002 
    RootHub !hub2_info ffffe000023201a0 !devstack ffffe00002320050
      ...

In the preceding output, you can see the suggested command !devstack ffffe00002320050. Enter this command.

0: kd> !kdexts.devstack ffffe000011f7050

  !DevObj           !DrvObj            !DevExt           ObjectName
> ffffe000011f7050  \Driver\usbhub     ffffe000011f71a0  0000006f
  ffffe00000a21050  \Driver\usbehci    ffffe00000a211a0  USBPDO-8
...

In the preceding output, ffffe000011f71a0 is the address of the device extension for the functional device object (FDO) of the hub. Pass the address of the device extension to !usbkd.usbhubext.

0: kd> !usbkd.usbhubext ffffe000011f71a0

FDO ffffe000011f7050 PDO ffffe00000a21050 HubNumber# 7
dt USBHUB!_DEVICE_EXTENSION_HUB ffffe000011f71a0
!usbhublog ffffe000011f71a0
RemoveLock ffffe000011f7668
FdoFlags ffffe000011f7ba0

CurrentPowerIrp: System (0000000000000000) Device (0000000000000000)

ObjReferenceList: !usblist ffffe000011f7b70, RL 
ExceptionList: !usblist ffffe000011f8498, EL [Empty]
...

In the preceding output, ffffe000011f8498 is the address of the exception list. If the exception list is not empty, it will contain addresses of _HUB_EXCEPTION_RECORD structures.

See also

USB 2.0 Debugger Extensions

Universal Serial Bus (USB) Drivers