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 Kernel Logger 追蹤會話]( 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
在配置事件追蹤記錄檔之前,保留事件追蹤記錄檔的空間。 僅搭配 -start 使用。
此參數需要 -seq 或 -cir 與 MaxFileSize。 它不適用於 -newfile。
旗標 代表以十進位或十六進位格式在追蹤提供者中定義的旗標值。 預設值為 0。 從0x01000000到0xFF000000的值會保留供日後使用。
旗標的意義是由每個追蹤提供者獨立定義。 一般而言,旗標代表越來越詳細的報告層級。
在 -start 命令中,旗標值會套用至追蹤會話中的所有追蹤提供者。 若要為每個追蹤提供者設定不同的旗標,請針對每個追蹤提供者使用不同的 -enable 命令。
-guid 的子參數 | 描述 |
---|---|
-flag 旗標 |
|
-level Level |
指定 追蹤會話中提供者的追蹤層級 。 層級會決定追蹤提供者產生的事件。 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 | 在配置事件追蹤記錄檔之前,保留事件追蹤記錄檔的空間。 僅搭配 -start 使用。
此參數需要 -seq 或 -cir 與 MaxFileSize。 它不適用於 -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]