!usbkd.usbhuberr

!usbkd.usbhuberr 命令显示 USB 集线器错误记录。

!usbkd.usbhuberr StructAddr

参数

StructAddr
usbhub!_HUB_EXCEPTION_RECORD 结构的地址。

DLL

Usbkd.dll

示例

下面是查找 usbhub!_HUB_EXCEPTION_RECORD 地址的一种方法。 首先输入 !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
      ...

在前面的输出中,可以看到建议的命令 !devstack ffffe00002320050。 输入此命令:

0: kd> !kdexts.devstack ffffe000011f7050

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

在前面的输出中,ffffe000011f71a0 是集线器功能设备对象 (FDO) 的设备扩展地址。 将设备扩展的地址传递给 !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]
...

在前面的输出中,ffffe000011f8498 是例外列表的地址。 如果例外列表不为空,它将包含 _HUB_EXCEPTION_RECORD 结构的地址。

另请参阅

USB 2.0 调试器扩展

通用串行总线 (USB) 驱动程序