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。

-rt SessionName

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

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

-tmf TMFFile

指定跟踪消息的跟踪消息格式 (.tmf) 文件的路径(可选)和文件名。默认值为 Default.tmf,该文件包含在 WDK 中。

-i ImageFiles

指示 Tracefmt 查找指定的图像文件的 PDB 符号文件,并通过 PDB 文件中的格式设置指令创建 TMF 文件。

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

-r SymbolPaths

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

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

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

-p TMFPath

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

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

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

-h | /?

显示帮助。

-o OutputFile

指定 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 文件中的所有引号 (") 加倍。此功能设计用于仅在应用程序被包含在引号中时显示引号的应用程序。

-display

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

-displayonly

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

-nosummary

不创建摘要消息文件

-summaryonly

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

-noprefix

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

-hires

高精度。显示跟踪消息时间戳中的微秒和纳秒数。默认情况下,仅显示毫秒。

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

-seq

显示跟踪消息前缀中的本地或全局序号。如果消息中没有记录序号,则将不初始化该字段或使用零或“f”填充该字段。

-ods

将设置了格式的跟踪消息发送至调试程序以进行显示。

-gmt

采用格林威治标准时间 (GMT) 显示每个跟踪消息上的时间戳。

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

-utc

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

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

-trace

在发生 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) 的值的格式。如果使用的是此高精度时间,则请使用 Tracerpt 来设置跟踪消息的格式,这是一种包含在 Windows XP 以及更高版本的 Windows 中的工具。有关详细信息,请参阅 Tracelog Command Syntax-UsePerfCounter 参数的说明。

顺序错误的跟踪消息

如果在运行 Windows XP 的计算机上查看跟踪消息文件,则可能会显示顺序错误的跟踪消息。若要校正此问题,则可以在使用 Tracefmt 启动跟踪会话和查看跟踪时使用序号选项。随后可以使用 Traceview 查看跟踪并按照序号排序。还可以在运行 Windows Server 2003 或更高版本的 Windows 的计算机上查看跟踪。

 

 

显示:
© 2015 Microsoft