示例 5:设置实时跟踪会话的格式

除了跟踪日志文件外,还可以使用 Tracefmt 设置来自实时跟踪会话的跟踪消息的格式。

以下命令序列使用 Tracelog 和 Tracefmt。 第一个命令使用 Tracelog 启动与 Tracedrv 示例跟踪提供程序的实时跟踪会话。 TraceDrv 是专为软件跟踪设计的示例驱动程序,可在 GitHub 上的 Windows 驱动程序示例 存储库中找到。

tracelog -start MyTrace -guid tracedrv.ctl -flag 1 -rt

此命令启动名为 MyTrace 的跟踪会话。 它使用 -guid 参数通过其控制 GUID 文件 tracedrv.ctl 来标识跟踪提供程序(Tracedrv.sys)。 它使用 -flag 参数将 跟踪标志 值设置为 1。 它使用 -rt 参数启动跟踪会话,该会话将消息直接传递到跟踪使用者,例如 Tracefmt。 如果没有 -rt 参数,跟踪提供程序将仅将消息发送到日志文件。

下一个命令使用 Tracefmt 设置 Tracedrv 在 MyTrace 跟踪会话期间生成的消息的格式。

tracefmt -rt MyTrace -p c:\tracing -o mytrace.txt

此 Tracefmt 命令使用 -rt 参数标识实时跟踪会话 MyTrace 和 -p 参数,以指定Tracedrv.sys的 TMF 文件所在的目录。 -o 参数将输出定向到本地目录中的 mytrace.txt 文件。

为了响应此命令,Tracefmt 准备实时设置跟踪消息的格式。 它显示以下状态消息,但不返回到命令提示符:

c:\tracetools>tracefmt -rt mytrace -display -o mytrace.txt
Setting RealTime mode for  mytrace
Getting guids from c:\tracetools\default.tmf

以下 Tracelog 命令停止 MyTrace 跟踪会话。 必须在其他命令提示符窗口中键入命令。

tracelog -stop mytrace

跟踪会话停止时,Tracefmt 报告它将跟踪消息写入输出文件,然后返回到命令提示符。

Event traces dumped to mytrace.txt
Event Summary dumped to mytrace.txt.sum