事件跟踪
可以使用 Windows 事件跟踪(ETW)或 Windows 软件跟踪预处理器(WPP)通过 I2C 设备驱动程序跟踪 HID 中的操作。 有关 ETW 的详细信息,请参阅 Windows 开发参考中的事件跟踪 主题。 有关 WPP 的详细信息,请参阅 WPP 软件跟踪 和 登录跟踪记录器(IFR),了解日志记录跟踪。
使用 Inflight 跟踪记录器(IFR)
默认情况下为所有驱动程序启用的 Inflight 跟踪记录器(IFR)允许查看从 HIDI2C 驱动程序到内核调试器的跟踪输出。 以下命令显示 HIDI2C 的 WPP 跟踪消息。
!rcdrkd.rcdrlogdump hidi2c
Inflight Trace Recorder (IFR) 将这些跟踪消息存储在固定大小的圆形缓冲区中。 因此,输出可能不包含整个跟踪日志。
使用 logman.exe
有关更详细且可控的跟踪,可以使用 logman.exe 捕获跟踪。 以下命令捕获 HIDI2C 的 WPP 跟踪:
Logman create trace -n HIDI2C_WPP -o HIDI2C_WPP.etl -nb 128 640 -bs 128
Logman update trace -n HIDI2C_WPP -p {E742C27D-29B1-4E4B-94EE-074D3AD72836} 0x7FFFFFFF 255
Logman start –n HIDI2C_WPP
<RUN your SCENARIO here>
Logman stop -n HIDI2C_WPP
Logman delete -n HIDI2C_WPP
可以使用 HIDI2C 的 PDB 或 TMF 文件将生成的跟踪日志文件分析为文本。
启用 ETW 跟踪
HIDI2C 驱动程序记录特定事件的 ETW 事件。 这些事件记录在事件查看器日志中。
还可以使用以下logman.exe命令查看这些事件:
Logman create trace -n HIDI2C_ETW -o HIDI2C_ETW.etl -nb 128 640 -bs 128
Logman update trace -n HIDI2C_ETW -p Microsoft-Windows-SPB-HIDI2C
Logman start –n HIDI2C_ETW
<RUN your SCENARIO here>
Logman stop -n HIDI2C_ETW
Logman delete -n HIDI2C_ETW
生成的跟踪日志可以使用 Xperf 或 Windows 性能分析器(WPA)等工具进行分析。