Logging and investigations

This topic describes logging and investigations for GPIO implementations.

Live debug prints from the kernel debugger

!wmitrace.start buttonTrace -kd ; !wmitrace.enable buttonTrace {5a81715a-84c0-4def-ae38-edde40df5b3a} -level 4 -flag 0xFFFFFFFF
<repro>
!wmitrace.stop buttonTrace

Logs and investigations

IFR log from KD:

!rcdrkd msgpiowin32 

LogMan:

 
logman start -ets buttonTrace -p {5a81715a-84c0-4def-ae38-edde40df5b3a} 0xFFFFFFFF 4
<repro>
logman stop -ets buttonTrace

Validations

You can use IFR log or Logman to validate that the state is correctly toggled.

For example, if a dock indicator change is expected, the following entry should be found in the log at the time that the notification is triggered.

--- start of log ---
10: Indicator_EvtDevicePrepareHardware - Received 0 resource descriptors, assuming indicator status will be injected via WriteFile
11: Indicator_EvtIoWrite - Indicator state change : DockMode_Indicator : old state : NotDocked
12: Indicator_UpdateRegistryValue - Indicator state update : DockMode_Indicator : new state : Docked