启用和查看 WDTF 跟踪
WDTF 跟踪 是指在 WDTF 对象内部发生的报告事件。 由于 WDTF 受到大量检测,因此所有 WDTF 对象在运行时都提供跟踪信息。 WDTF 使用 WPP 软件跟踪处理跟踪。 这种类型的跟踪是一种标准化格式,可以使用 WDK 工具(包括 TraceView)进行读取。 本主题介绍如何使用 Logman 和 Tracefmt 查看 WDTF 运行时跟踪。 本主题还讨论如何以编程方式配置 WDTF 跟踪级别。
如何收集和保存 WDTF 跟踪
开始收集 WDTF 跟踪
在测试计算机上,使用提升的权限打开命令提示符窗口, (以 管理员身份运行) 并输入以下命令:
logman.exe create trace "autosession\WDTF" -p {6210f559-c7f7-4d2f-b674-4bc9315cecc7} 0xffffffff 0xff -o c:\WDTF_Traces\TraceFile.etl reg add HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\WDTF /v LogFileMode /t REG_DWORD /d 1 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\WDTF /v FileMax /t REG_DWORD /d 16 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\WDTF /v MaxFileSize /t REG_DWORD /d 0 /f
重新启动计算机。
有关其他选项的信息,请参阅 Logman (Logman.exe) 。 有关创建跟踪季节的信息,请参阅 配置和启动自动记录器会话。
停止收集 WDTF 跟踪并保存日志文件
可以使用以下命令停止收集 WDTF 跟踪并删除数据收集器:
logman.exe -stop -ets WDTF logman.exe delete "autosession\WDTF"
重新启动计算机。
将日志文件从测试计算机复制到另一台计算机以供以后分析。
收集的 ETL 日志文件可能非常大。 为了获得最佳结果,请将日志文件从测试计算机 (例如 c:\WDTF_Traces\TraceFile.etl) 复制到另一台计算机。 然后,可以从测试计算机中删除日志文件。
如何查看 WDTF 跟踪
查看 WDTF 跟踪需要设置 ETL 文件的格式。 以下步骤演示如何使用 Tracefmt.exe 将 ETL 文件转换为文本或 CSV 文件。
查看 WDTF 跟踪
例如,以下命令将已保存为 c:\WDTF_Traces\TraceFile.etl 的 ETL 文件转换为文本。
Tracefmt.exe –r http://msdl.microsoft.com/download/symbols c:\WDTF_Traces\TraceFile.etl -o OutputTxtFile.txt
以下命令将保存为 c:\WDTF_Traces\TraceFile.etl 的 ETL 文件转换为逗号分隔文件 (CSV) 。
Tracefmt.exe –r http://msdl.microsoft.com/download/symbols c:\WDTF_Traces\TraceFile.etl -csv –o OutputCsvFile.csv
在 Microsoft Excel 中打开 CSV 文件,以便可以使用 Excel 的筛选功能来筛选收集的跟踪。 可以筛选特定时间段的跟踪。 可以筛选跟踪以检查某些 WDTF 组件记录的跟踪。
以编程方式配置 WDTF 跟踪级别
所有 WDTF 对象在运行时都提供跟踪信息。
WDTF 提供一组可配置的 TTraceLevel 级别。 有关如何在运行时设置特定对象实例的 TTraceLevel 的信息,请参阅 ITracing::SetTraceLevel 方法。
有关如何设置接口的默认 TTraceLevel 的信息,请参阅 Windows 设备测试框架参考。
有关每个 TTraceLevel 中包含的跟踪类型的详细说明,请参阅 ITracer 接口。 可以使用 ITracer 的注册表 TraceLevel 路径自行全局配置这些级别。
下表描述了可以设置的跟踪级别。
级别 | 说明 |
---|---|
0 | 关闭。 未提供跟踪。 |
1 | 低 |
2 | 中等。 此级别是默认的跟踪级别。 |
3 | 高 |
4 | 已满。 报告所有跟踪信息。 |
5-8 | 自定义级别。 |
9 | 将对象设置回其初始跟踪级别。 |
使用跟踪内容进行调试时,请考虑将所有对象的跟踪级别设置为 1,然后为要检查的对象设置更高的跟踪级别。
有关跟踪级别的详细信息,请参阅 ITracer 接口。