除了跟踪日志文件外,还可以使用 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