TraceView 控制命令

注意

TraceView 命令行选项已弃用。 使用tracepdb.exe和tracefmt.exe将 PDB 分析为 TMF 文件,并将 .etl 文件分别分析为文本。content

使用 Traceview 控件命令管理跟踪会话,包括启动和停止会话、启用或禁用提供程序、更新跟踪会话的属性以及刷新跟踪缓冲区。

    traceview {-start | -stop | -update | -enable | -disable | -flush | -q} SessionName [Parameters]
    traceview {-enumguid | -l | -h | -x}

命令参数

操作

操作​​ 说明
-开始 启动指定的跟踪会话。
-停 停止指定的跟踪会话。
-更新 更新指定跟踪会话的属性。
-使 为指定的跟踪会话启用提供程序。
-禁用 禁用指定会话的提供程序。
-冲洗 刷新指定跟踪会话的活动缓冲区。 除了缓冲区已满以及跟踪会话停止时发生的自动刷新之外,还存在这种强制刷新。
-q 查询指定跟踪会话的状态。
-enumguid 列出在 Windows 事件跟踪中注册系统上的提供程序(ETW)。
-l 列出计算机上运行的所有跟踪会话。
-x 停止所有跟踪会话。

参数

SessionName
与 -start 一起使用时,SessionName 是用于表示跟踪会话的名称。 使用所有其他命令时, SessionName 标识跟踪会话。

-f [LogFile]
与 -start 一起使用时,-f 将启动跟踪日志会话。 LogFile 指定事件跟踪日志 (.etl) 文件的路径(可选)和文件名。 默认值为 C:\LogFile.etl。

与 -update 一起使用时,-f 仅将所有新的跟踪消息发送到指定的跟踪日志 使用此参数可将实时跟踪会话转换为跟踪日志会话,或为现有跟踪日志会话启动新的跟踪日志。 若要将跟踪消息发送到实时跟踪使用者和跟踪日志,请使用 -update 命令中的 -rt-f 参数。

-rt
与 -start 一起使用时,-rt 将启动实时跟踪会话(跟踪日志会话 (-f) 为默认值。 如果在 -start 命令中使用 -rt-f,则跟踪消息将发送到跟踪使用者和事件跟踪日志文件。

与 -update 一起使用时,-rt 会将实时消息传送添加到跟踪日志会话。 除了跟踪日志之外,所有新的跟踪消息都直接发送到跟踪使用者(如实时跟踪会话中)。

-guid {#GUID | GUIDFile}
指定一个或多个跟踪提供程序。 与 -start 一起使用,为跟踪会话启用提供程序。 与 -enable 一起使用以启用提供程序或更改其 -flag-level 值。 与 -disable 一起使用可指定要禁用的提供程序。

GUID 可以指定一个 控件 GUID (前面有数字符号(#)或文本文件的路径(可选)和文件名(如控件 GUID(.ctl) 文件,其中包含一个或多个跟踪提供程序的控件 GUID。

如果从 -start 命令中省略 -guid 参数,TraceView 将启动 NT 内核记录器跟踪会话

TraceView 将以下子参数的值传递给指定的提供程序。

参数 说明
SessionName 与 -start 一起使用时,SessionName 是用于表示跟踪会话的名称。 使用所有其他命令时, SessionName 标识跟踪会话。
-f \[LogFile\]

与 -start 一起使用时,-f 将启动跟踪日志会话。 LogFile 指定事件跟踪日志 (.etl) 文件的路径(可选)和文件名。 默认值为 C:\\LogFile.etl。

与 -update 一起使用时,-f 仅将所有新的跟踪消息发送到指定的 [跟踪日志](trace-log.md)。 使用此参数可将实时跟踪会话转换为跟踪日志会话,或为现有跟踪日志会话启动新的跟踪日志。 若要将跟踪消息发送到实时跟踪使用者和跟踪日志,请使用 -update 命令中的 -rt-f 参数。

-rt

与 -start 一起使用时,-rt 将启动实时跟踪会话(跟踪日志会话 (-f) 为默认值。 如果在 -start 命令中使用 -rt-f,则跟踪消息将发送到跟踪使用者和事件跟踪日志文件。

与 -update 一起使用时,-rt 会将实时消息传送添加到跟踪日志会话。 除了 [跟踪日志](trace-log.md),所有新的跟踪消息都直接发送到跟踪使用者(如实时跟踪会话中)。

-guid {\#GUID | GUIDFile}

指定一个或多个跟踪提供程序。 与 -start 一起使用,为跟踪会话启用提供程序。 与 -enable 一起使用以启用提供程序或更改其 -flag-level 值。 与 -disable 一起使用可指定要禁用的提供程序。

GUID 可以指定一个 [控件 GUID](control-guid.md) (前面有数字符号 (\#)或文本文件的路径(可选)和文件名(如控件 GUID (.ctl) 文件,其中包含一个或多个跟踪提供程序的控件 GUID。

如果从 -start 命令中省略 -guid 参数,TraceView 将启动 [NT 内核记录器跟踪会话](nt-kernel-logger-trace-session.md)。

TraceView 将以下子参数的值传递给指定的提供程序:

-b BufferSize
指定为跟踪会话分配的每个缓冲区的大小(以 KB 为单位)。 仅用于 -start

默认值由处理器数、物理内存量和正在使用的操作系统确定。

-min NumberOfBuffers
指定最初为存储跟踪消息分配的缓冲区数。 仅用于 -start

默认值由处理器数、物理内存量和正在使用的操作系统确定。

-麦克斯 NumberOfBuffers
与 -start 一起使用时,-max 指定为跟踪会话分配的最大缓冲区数。 默认值由处理器数、物理内存量和正在使用的操作系统确定。

与 -update 一起使用时,-max 将更改为跟踪会话分配的最大缓冲区数。

-英尺 FlushTime
与 -start 一起使用时,-ft 指定刷新跟踪消息缓冲区的频率(以秒为单位)。 与 -update 一起使用时,-ft 会将刷新时间更改为指定时间。

最小刷新时间为 1 秒。 默认值为 0(无强制刷新)。

此强制刷新除了在跟踪消息缓冲区已满以及跟踪会话停止时自动发生的刷新之外。

另请参阅: -flush

-呼
对跟踪消息缓冲区使用可分页内存。 默认情况下,事件跟踪对缓冲区使用不可分页的内存。 仅用于 -start

当提供程序是可能生成 IRQL 大于DISPATCH_LEVEL的跟踪消息的驱动程序时,请不要使用此参数。

Windows 2000 不支持此参数。

-seq MaxFileSize
指定事件跟踪日志 (.etl) 文件的顺序日志记录(文件末尾,停止记录事件)。 仅用于 -start

MaxFileSize 指定文件的最大大小(以 MB 为单位)。 如果没有 MaxFileSize 值,则忽略此参数。

顺序日志记录是默认值,但可以使用此参数设置最大文件大小或使用 -prealloc。 如果没有此参数,则没有文件大小限制。

-cir MaxFileSize
指定事件跟踪日志 (.etl) 文件中的循环日志记录(在文件末尾,在最早的消息上记录新消息)。 仅用于 -start

MaxFileSize 指定文件的最大大小(以 MB 为单位)。 如果没有 MaxFileSize 值,则忽略此参数。

默认值为无文件大小限制的顺序日志记录。

-prealloc
在分配事件跟踪日志 (.etl) 文件之前保留空间。 仅用于 -start

此参数需要具有 MaxFileSize 的 -seq-cir 它对 -newfile 无效。

标志 表示以十进制或十六进制格式在跟踪提供程序中定义的标志值。 默认值为 0。 保留从0x01000000到0xFF000000的值以供将来使用。

标志的含义由每个跟踪提供程序独立定义。 通常,标志表示越来越详细的报告级别。

在 -start 命令中,标志值适用于跟踪会话中的所有跟踪提供程序。 若要为每个跟踪提供程序设置不同的标志,请为每个跟踪提供程序使用单独的 -enable 命令。

-guid 的子参数 说明

-flag 标志

-level 级别

指定 跟踪会话中提供程序的跟踪级别 。 该级别确定跟踪提供程序生成的事件。

级别 表示十进制或十六进制格式的级别值。 默认值为 0。

级别值的含义由每个跟踪提供程序独立定义。 通常,跟踪级别表示事件的严重性(信息、警告或错误)。

在 -start 命令中,级别值适用于跟踪会话中的所有跟踪提供程序。 若要为每个跟踪提供程序设置不同的级别,请为每个跟踪提供程序使用单独的 -enable 命令。

参数说明
-b BufferSize 指定为跟踪会话分配的每个缓冲区的大小(以 KB 为单位)。 仅用于 -start

默认值由处理器数、物理内存量和正在使用的操作系统确定。

-min NumberOfBuffers 指定最初为存储跟踪消息分配的缓冲区数。 仅用于 -start

默认值由处理器数、物理内存量和正在使用的操作系统确定。

-max NumberOfBuffers 与 -start 一起使用时,-max 指定为跟踪会话分配的最大缓冲区数。 默认值由处理器数、物理内存量和正在使用的操作系统确定。

与 -update 一起使用时,-max 将更改为跟踪会话分配的最大缓冲区数。

-ft FlushTime 与 -start 一起使用时,-ft 指定刷新跟踪消息缓冲区的频率(以秒为单位)。 与 -update 一起使用时,-ft 会将刷新时间更改为指定时间。

最小刷新时间为 1 秒。 默认值为 0(无强制刷新)。

此强制刷新除了在跟踪消息缓冲区已满以及跟踪会话停止时自动发生的刷新之外。

另请参阅: -flush

-age AgeLimit 与 -start 一起使用时,-age 指定在释放之前保留未使用的跟踪缓冲区的时间(以分钟为单位)。 与 -update 一起使用时,-age 会将年龄限制更改为指定值。

年龄限制 指定在释放之前保留未使用的跟踪缓冲区的时间(以分钟为单位)。 默认值为 15 分钟。

此参数仅在 Windows 2000 中有效。

-呼 对跟踪消息缓冲区使用可分页内存。 默认情况下,事件跟踪对缓冲区使用不可分页的内存。 仅用于 -start

当提供程序是可能生成 IRQL 大于 DISPATCH\_LEVEL的跟踪消息的驱动程序时,请不要使用此参数。

Windows 2000 不支持此参数。

-seq MaxFileSize 指定事件跟踪日志 (.etl) 文件的顺序日志记录(文件末尾,停止记录事件)。 仅用于 -start

MaxFileSize 指定文件的最大大小(以 MB 为单位)。 如果没有 MaxFileSize 值,则忽略此参数。

顺序日志记录是默认值,但可以使用此参数设置最大文件大小或使用 -prealloc。 如果没有此参数,则没有文件大小限制。

-cir MaxFileSize 指定事件跟踪日志 (.etl) 文件中的循环日志记录(在文件末尾,在最早的消息上记录新消息)。 仅用于 -start

MaxFileSize 指定文件的最大大小(以 MB 为单位)。 如果没有 MaxFileSize 值,则忽略此参数。

默认值为无文件大小限制的顺序日志记录。

-prealloc 在分配事件跟踪日志 (.etl) 文件之前保留空间。 仅用于 -start

此参数需要具有 MaxFileSize 的 -seq-cir 它对 -newfile 无效。

系统创建大小等于使用 -seq-cir 参数指定的 MaxFileSize 值的事件跟踪日志 (.etl) 文件。 停止会话时,它会将日志文件减小为其内容的大小。

-newfile MaxFileSize 每当现有文件到达 MaxFileSize 时,创建一个新的事件跟踪日志 (.etl) 文件。 仅用于 -start

MaxFileSize 指定每个日志文件的最大大小(以 MB 为单位)。 如果没有 MaxFileSize 值,则忽略此参数。

使用 -newfile 时,还必须使用 -f LogFile 参数,LogFile 的值必须是包含字符 %d 指示十进制模式的名称,例如 trace%d.etl。 否则,命令将失败并出现 ERROR\_INVALID\_NAME。 每次创建新文件时,Windows 都会递增文件名中的小数值。

此参数对于预分配(-prealloc 日志记录(-cir)、NT 内核记录器会话或专用跟踪会话无效。 Windows 2000 不支持它。

-附加 将跟踪消息追加到现有事件跟踪日志 (.etl) 文件中。 默认值为创建新文件。 仅用于 -start

此参数仅在顺序文件上有效,并且仅在使用 -f不使用 -rt有效。 Windows 2000 不支持它。

-kd 将跟踪消息重定向到 KD 或 Windbg,以附加者为准。 此参数还将跟踪缓冲区大小设置为 3 KB、调试器的最大缓冲区大小,并忽略 命令中的任何 -b 参数。 仅用于 -start

评论

没有参数的 traceview 命令将打开 TraceView 窗口。

可以使用 TraceView -start 命令启动 全局记录器跟踪会话。 为此,请使用以下命令格式。 与其他命令不同,此命令格式的单词“GlobalLogger”区分大小写。

traceview -start GlobalLogger [parameters]