Set-TraceSource
設定、啟動和停止 PowerShell 元件的追蹤。
語法
Set-TraceSource
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[-PassThru]
[<CommonParameters>]
Set-TraceSource
[-Name] <String[]>
[-RemoveListener <String[]>]
[<CommonParameters>]
Set-TraceSource
[-Name] <String[]>
[-RemoveFileListener <String[]>]
[<CommonParameters>]
Description
Set-TraceSource Cmdlet 會設定、啟動和停止 PowerShell 元件的追蹤。 您可以使用它來指定要追蹤哪些元件,以及追蹤輸出的傳送位置。
範例
範例 1:追蹤 ParameterBinding 元件
PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
此命令會開始追蹤 PowerShell 的 ParameterBinding 元件。 它會使用 Name 參數來指定追蹤來源、Option 參數來選取 ExecutionFlow 追蹤事件,以及 PSHost 參數來選取 PowerShell 主機接聽程式,其會將輸出傳送至控制台。 ListenerOption 參數會將 ProcessID 和 TimeStamp 值新增至追蹤訊息前置詞。
範例 2:停止追蹤
PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
此命令會停止 PowerShell 的 ParameterBinding 元件追蹤。 它會使用 Name 參數來識別所追蹤的元件,以及 RemoveListener 參數來識別追蹤接聽程式。
參數
-Debugger
指出 Cmdlet 會將追蹤輸出傳送至調試程式。 您可以在任何使用者模式或核心模式調試程式中,或在 Visual Studio Microsoft檢視輸出。 此參數也會選取預設追蹤接聽程式。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FilePath
指定這個 Cmdlet 傳送追蹤輸出的檔案。 此參數也會選取檔案追蹤接聽程式。 如果您使用此參數啟動追蹤,請使用 RemoveFileListener 參數來停止追蹤。
類型: | String |
別名: | PSPath |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
指出 Cmdlet 會覆寫唯讀檔案。 搭配 FilePath 參數使用。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ListenerOption
指定輸出中每個追蹤訊息前置詞的選擇性數據。 此參數可接受的值為:
- 沒有
- LogicalOperationStack
- DateTime
- 時間戳
- ProcessId
- ThreadId
- Callstack
None 是預設值。
若要指定多個選項,請以逗號分隔它們,但不含空格,並以引弧括住它們,例如 “ProcessID,ThreadID”。
類型: | TraceOptions |
接受的值: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定追蹤哪些元件。 輸入每個元件的追蹤來源名稱。 允許通配符。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | True |
-Option
指定追蹤的事件類型。 此參數可接受的值為:
- 沒有
- 構造 函數
- 處理
- 完成項
- 方法
- 財產
- 代表
- 事件
- 例外
- 鎖
- 錯誤
- 錯誤
- 警告
- 詳細
- WriteLine
- 數據
- 範圍
- ExecutionFlow
- 斷言
- 都
全部都是預設值。
下列值是其他值的組合:
- ExecutionFlow:(建構函式、處置、完成項、方法、委派、事件和範圍)
- 數據:(建構函式、處置、完成項、屬性、詳細資訊和 WriteLine)
- 錯誤:(錯誤和例外狀況)。
若要指定多個選項,請以逗號分隔它們,但沒有空格,並以引號括住它們,例如“建構函式,處置”。
類型: | PSTraceSourceOptions |
接受的值: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-PassThru
會傳回 物件,代表您正在使用的專案。 根據預設,此 Cmdlet 不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PSHost
此 Cmdlet 會將追蹤輸出傳送至 PowerShell 主機的 ndicat。 此參數也會選取 PSHost 追蹤接聽程式。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-RemoveFileListener
拿掉與指定檔案相關聯的檔案追蹤接聽程式,以停止追蹤。 輸入追蹤輸出檔案的路徑和檔名。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-RemoveListener
藉由移除追蹤接聽程式來停止追蹤。
使用下列值搭配 removeListener :
- 若要移除 PSHost (主控台),請輸入
Host
。 - 若要移除除錯程式,請輸入
Debug
。 - 若要移除所有追蹤接聽程式,請輸入
*
。
若要移除檔案追蹤接聽程式,請使用 removeFileListener 參數
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將包含名稱的字串傳送至 set-TraceSource
輸出
None or System.Management.Automation.PSTraceSource
當您使用 PassThru 參數時,Set-TraceSource 會產生代表追蹤會話的 System.Management.Automation.PSTraceSource 物件。 否則,此 Cmdlet 不會產生任何輸出。
備註
追蹤是開發人員用來偵錯和精簡程式的方法。 追蹤時,程式會產生其內部處理中每個步驟的詳細訊息。
PowerShell 追蹤 Cmdlet 是設計來協助 PowerShell 開發人員,但可供所有使用者使用。 它們可讓您監視PowerShell功能幾乎每個層面。
追蹤來源是管理追蹤併產生元件追蹤訊息之每個 PowerShell 元件的一部分。 若要追蹤元件,您可以識別其追蹤來源。
追蹤接聽程式會接收追蹤的輸出,並將它顯示給使用者。 您可以選擇將追蹤數據傳送至使用者模式或內核模式調試程式、控制台、檔案或 衍生自 System.Diagnostics.TraceListener 類別的自定義接聽程式。
若要啟動追蹤,請使用 Name 參數來指定追蹤來源和 FilePath、Debugger或 PSHost 參數來指定接聽程式 (輸出的目的地)。 使用 Options 參數來判斷追蹤的事件類型和 ListenerOption 參數,以設定追蹤輸出。
若要變更追蹤的組態,請輸入 Set-TraceSource 命令,就像開始追蹤一樣。 PowerShell 會辨識追蹤來源已經追蹤。 它會停止追蹤、新增組態,然後啟動或重新啟動追蹤。
若要停止追蹤,請使用 RemoveListener 參數。 若要停止使用檔案接聽程式的追蹤(使用
FilePath 參數啟動的追蹤),請使用 removeFileListener 參數。 當您移除接聽程式時,追蹤會停止。 若要判斷哪些元件可以追蹤,請使用 Get-TraceSource。 當元件正在使用時,每個模組的追蹤來源都會自動載入,而且它們會出現在 get-TraceSource 的輸出中。