Tracefmt 命令

若要使用 Tracefmt,请在命令提示符窗口中键入命令。 以下语法显示 Tracefmt 命令的元素。

若要以可读的形式显示跟踪消息,Tracefmt 必须将跟踪消息格式文件中的格式设置说明应用于跟踪消息。 使用的语法取决于是否具有跟踪提供程序的 TMF 文件,或者是否希望 Tracefmt 创建 TMF 文件。

提供 TMF 文件或 TMF 文件目录的路径:

    tracefmt [EtlFile | -rt SessionName][-tmf TMFFile | -p TMFPath ] [Options]

若要创建 TMF 文件,请执行以下操作:

    tracefmt [EtlFile | -rt SessionName]-i ImageFiles [-r SymbolPath ] [-p TmfPath ] [Options]

在命令行中显示语法。

    tracefmt -h | /?

参数

EtlFile
指定包含跟踪消息的事件跟踪日志 (.etl) 文件。 输入路径 (可选的) 和文件名。 默认值为 c:\logfile.etl。

-rtSessionName
实时。 设置来自指定实时跟踪会话(而不是来自 跟踪日志)的跟踪消息的格式。

SessionName 是跟踪会话的名称。 默认值为 NT 内核记录器

-tmfTMFFile
指定 跟踪消息 ( (.tmf) 文件的可选) 路径和文件名。 默认值为 Default.tmf,它是 WDK 中包含的文件。

-iImageFiles
指示 Tracefmt 查找指定图像文件的 PDB 符号文件,并从 PDB 文件中的格式设置说明创建 TMF 文件。

ImageFiles 表示 跟踪提供程序的一个或多个二进制文件 (.exe、.dll或.sys) 的路径和文件名。 使用分号 (;) 分隔图像文件名。

-rSymbolPaths
指定 -i 中指定的图像文件的专用 PDB 符号文件的位置。

SymbolPaths 表示存储专用符号或符号服务器路径的目录的一个或多个路径。 使用分号 (;) 分隔路径名称。 SymbolPaths 中的路径名称可以包含通配符,例如表示多个字符的星号 (*) ,以及表示单个字符的问号 (?) 。

如果在命令中包含 -i ,但省略 -r,Tracepdb 将在 %_NT_SYMBOL_PATH% 环境变量指定的路径中搜索指定的图像的 PDB 文件。 如果未设置环境变量,Tracepdb 将在默认符号路径 srv*\\\\symbols\\symbols 中搜索。

-pTMFPath
指定存储 TMF 文件的目录的路径。

不使用 -i 使用 -p 时,Tracefmt 在 -p 指定的路径中搜索现有 TMF 文件。 如果省略 -p ,则 Tracefmt 在 %TRACE_FORMAT_SEARCH_PATH% 环境变量的值中查找 TMF 文件(如果已设置)。 否则,Tracefmt 会尝试在 Default.tmf 文件中应用格式设置说明。

-p-i 一起使用时,Tracefmt 会将它创建的 TMF 文件放在 -p 指定的目录中。 如果省略 -p ,则 Tracefmt 会将 TMF 文件放置在由 %TRACE_FORMAT_SEARCH_PATH% 环境变量的值指定的目录中(如果设置了)。 否则,Tracefmt 会将文件放在本地目录中。

-H | /?
显示帮助。

-oOutputFile
指定 Tracefmt 输出文件和 Tracefmt摘要消息文件的备用名称。 输出文件) 的默认值为FmfFile.txt (,本地目录中的摘要文件) FmtSum.txt.sum (。

OutputFile 是具有 .txt 文件扩展名的路径和文件名,例如 c:\traces\trace.txt。

如果将此参数与 -displayonly-summaryonly 选项一起使用,则它仅影响摘要消息文件。

-Csv
Tracefmt 输出文件 的格式设置为逗号分隔的可变长度 (.csv) 文件。 除了标准跟踪消息前缀外,此格式还会向每条消息添加详细的结构化 前缀

此选项会影响输出文件以及命令提示符窗口中跟踪消息的显示(如果有)。

-csvheader
向 CSV 文件添加一行描述性列标题。 此标头对于解释 Tracefmt 添加到 CSV 文件的结构化前缀特别有用。 默认情况下,Tracefmt CSV 文件没有列标题。

-csvquote
将 CSV 文件中 (“) 的所有引号加倍。 此功能专为仅当引号括在引号中时才显示引号的应用程序而设计。

-显示
除了将跟踪消息写入输出文件外,还可以在命令提示符窗口中显示跟踪消息。

-displayonly
仅在命令提示符窗口中显示跟踪消息,不创建输出文件。

-nosummary
不创建 摘要消息文件

-summaryonly
仅创建 摘要消息文件。 Tracefmt 不会创建 输出文件

-noprefix
省略 跟踪消息前缀。 此选项会影响输出文件和 Tracefmt 显示中的跟踪消息。

-雇佣
高分辨率。 显示跟踪消息时间戳中的微秒数和纳秒数。 默认情况下,仅显示毫秒。

当性能计数器时钟值用于跟踪消息时间戳而不是系统计时器时,请使用此选项,例如在使用 Tracelog -UsePerfCounter 参数时。 有关 Tracelog 命令的信息,请参阅 Tracelog 命令语法

-seq
跟踪消息前缀中显示本地或全局序列号。 如果未在消息中记录序列号,则字段未初始化,或者用零或“f”s 填充。

-Ods
将格式化的跟踪消息发送到调试器进行显示。

-Gmt
以格林威治标准时间 (GMT) 显示每条跟踪消息上的时间戳。

此选项仅影响 Tracefmt 输出文件。 它不会将事件跟踪日志中的时间戳转换为 (.etl) 文件。 提交 Tracefmt 命令时,将显示跟踪日志的时区。

-Utc
以协调世界时 (UTC) 显示每个跟踪消息上的时间戳。 UTC 与 GMT 几乎相同,但它表示午夜为零。

此选项仅影响 Tracefmt 输出文件。 它不会将事件跟踪日志中的时间戳转换为 (.etl) 文件。 提交 Tracefmt 命令时,将显示跟踪日志文件的时区。

-跟踪
在发生 Tracefmt 操作时显示这些操作。 当格式不正确或 Tracefmt 报告错误或异常时,此信息非常有用。

跟踪显示范围非常广泛。 请考虑将 Tracefmt 输出重定向到文本文件供以后检查。

-V
“详细”: 当 Tracefmt 处理跟踪消息的每个块或缓冲区时,在命令提示符窗口中显示详细信息。 如果怀疑文件损坏或不一致,请使用此选项。

备注

查找 TMF 文件

如果省略 -i 参数,Tracefmt 将使用以下方法来查找 TMF 文件。 这些方法按 Tracefmt 使用它们的顺序列出。

  • -tmf 参数。

  • -p 参数。

  • %TRACE_FORMAT_SEARCH_PATH% 环境变量。

  • Default.tmf,WDK 中包含的文件。

如果 Tracefmt 找不到 TMF 文件,或者 TMF 文件不包含跟踪消息的格式信息,则 Tracefmt 无法显示这些消息。 相反,它会写入以下错误消息来代替跟踪消息

No Format Information found.

引发异常

如果 Tracefmt 无法设置跟踪消息参数的格式,则会引发异常并显示如下消息:

*****FormatMessage Header(Header) of EventTrace, parameter 23 raised an exception*****

如果看到类似的异常,请查看源代码中的消息定义,并特别注意任何用户指定的变量类型。 有关详细信息,请参阅 DoTraceMessage

具有非 GUID 文件名的 TMF 文件

如果 TMF 文件名不是 消息 GUID,则必须使用 -tmf 参数标识文件并输入文件的完全限定路径。

设置 NT 内核记录器跟踪消息的格式

若要设置来自 NT 内核记录器跟踪会话或全局记录器跟踪会话的消息的格式,请使用 -tmf 参数指定 system.tmf 文件,该文件是 WDK 中包含的跟踪消息格式文件

设置实时跟踪会话中的跟踪消息的格式

使用 -rt (实时) 参数时,Tracefmt 将显示一条消息,确认它处于实时模式,然后等待来自指定跟踪提供程序的跟踪消息。 在跟踪会话停止之前,它不会返回到命令提示符。

设置 QPC 时间戳的格式

Tracefmt 不会正确设置 QueryPerformanceCounter) (系统性能计数器时钟值的格式。 如果使用此高分辨率时间,请使用 Windows 中包含的工具 Tracerpt 设置跟踪消息的格式。 有关详细信息,请参阅 Tracelog 命令语法-UsePerfCounter 参数的说明。

失序跟踪消息

如果在运行 Windows XP 的计算机上查看跟踪消息文件,则显示可能会显示不连续的跟踪消息。 若要更正此问题,可以在启动跟踪会话并使用 Tracefmt 查看跟踪时使用序列号选项。 然后,可以使用 Traceview 查看跟踪,并根据序列号排序。 还可以在运行 Windows Server 2003 或更高版本的 Windows 的计算机上查看跟踪。