事件跟踪

可以使用 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

生成的跟踪日志可以使用 XperfWindows 性能分析器(WPA)等工具进行分析。