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) 为 default.) 如果在 -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) 为 default.) 如果在 -start 命令中使用 -rt-f,则会将跟踪消息发送到跟踪使用者和事件跟踪日志文件。

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

-guid {\#GUID | GUIDFile}

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

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

如果省略 -start 命令中的 -guid 参数,TraceView 将启动 [NT Kernel Logger 跟踪会话] (nt-kernel-logger-trace-session.md) 。

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

-bBufferSize
指定为跟踪会话分配的每个缓冲区的大小(以 KB 为单位)。 仅与 -start 一起使用。

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

-minNumberOfBuffers
指定最初为存储跟踪消息分配的缓冲区数。 仅与 -start 一起使用。

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

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

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

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

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

此强制刷新是每当跟踪消息缓冲区已满和跟踪会话停止时自动发生的刷新的补充。

另请参阅: -flush

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

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

Windows 2000 不支持此参数。

-seqMaxFileSize
指定在文件末尾的顺序日志记录 (,停止记录事件) 到事件跟踪日志 (.etl) 文件。 仅将 与 -start 一起使用。

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

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

-cirMaxFileSize
在文件末尾指定循环日志记录 (,在事件跟踪日志 (.etl) 文件中记录) 最早的消息。 仅将 与 -start 一起使用。

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

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

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

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

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

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

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

-guid 的子参数 说明

-flagFlag

-levelLevel

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

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

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

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

参数说明
-bBufferSize 指定为跟踪会话分配的每个缓冲区的大小(以 KB 为单位)。 仅将 与 -start 一起使用。

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

-minNumberOfBuffers 指定最初为存储跟踪消息分配的缓冲区数。 仅将 与 -start 一起使用。

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

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

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

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

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

此强制刷新是每当跟踪消息缓冲区已满和跟踪会话停止时自动发生的刷新的补充。

另请参阅: -flush

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

期限限制 指定在释放未使用的跟踪缓冲区) 保留 (分钟数。 默认值为 15 分钟。

此参数仅在 Windows 2000 中有效。

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

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

Windows 2000 不支持此参数。

-seqMaxFileSize 指定在文件末尾的顺序日志记录 (,停止记录事件) 到事件跟踪日志 (.etl) 文件。 仅将 与 -start 一起使用。

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

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

-cirMaxFileSize 在文件末尾指定循环日志记录 (,在事件跟踪日志 (.etl) 文件中记录) 最早的消息。 仅将 与 -start 一起使用。

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

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

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

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

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

-newfileMaxFileSize 每当现有文件到达 MaxFileSize 时, (.etl) 文件创建新的事件跟踪日志。 仅将 与 -start 一起使用。

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

使用 -newfile 时,还必须使用 -fLogFile 参数, 并且 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]