Trace-Command
指定した式またはコマンドのトレースを構成して開始します。
構文
Trace-Command
[-Name] <String[]>
[-Expression] <ScriptBlock>
[[-Option] <PSTraceSourceOptions>]
[-InputObject <PSObject>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Trace-Command
[-Name] <String[]>
[-Command] <String>
[[-Option] <PSTraceSourceOptions>]
[-InputObject <PSObject>]
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
説明
Trace-Command コマンドレットは、指定した式またはコマンドのトレースを構成して開始します。 これは Set-TraceSource と同様に機能しますが、指定されたコマンドにのみ適用される点が異なります。
例
例 1: メタデータ処理、パラメーター バインド、および式をトレースする
PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
このコマンドは、メタデータ処理、パラメーター バインド、およびコマンドレットの作成と Get-Process Notepad
式の破棄のトレースを開始します。
Name パラメーターを使用してトレース ソースを指定し、Expression パラメーターを使用してコマンドを指定し、PSHost パラメーターを使用して出力をコンソールに送信します。
トレース・オプションやリスナー・オプションを指定しないため、このコマンドでは、トレース・オプションにデフォルト (All、リスナー・オプションに None) が使用されます。
例 2: ParameterBinding 操作のアクションをトレースする
PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
これらのコマンドは、パイプラインから入力を受け取る Get-Alias 式を処理する Windows PowerShell の ParameterBinding 操作のアクションをトレースします。
Trace-Command では、InputObject パラメーターは、トレース中に処理される式にオブジェクトを渡します。
最初のコマンドは、文字列 "i*" を $A 変数に格納します。 2 番目のコマンドでは、 Trace-Command コマンドレットと ParameterBinding トレース ソースを使用します。 PSHost パラメーターは、出力をコンソールに送信します。
処理される式は Get-Alias $Input
で、$Input変数は InputObject パラメーターに関連付けられています。
InputObject パラメータは、変数 $A を式に渡します。
実際には、トレース中に処理されるコマンドは Get-Alias -InputObject $A" or "$A | Get-Alias
。
パラメーター
-ArgumentList
トレースするコマンドのパラメーターとパラメーター値を指定します。
型: | Object[] |
Aliases: | Args |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Command
トレース中に処理されるコマンドを指定します。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Debugger
コマンドレットがデバッガーにトレース出力を送信することを示します。 出力は、任意のユーザー モードまたはカーネル モードのデバッガーまたは Visual Studio で表示できます。 このパラメーターは、既定のトレース リスナーも選択します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Expression
トレース中に処理される式を指定します。 式は波かっこ ({}) で囲みます。
型: | ScriptBlock |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-FilePath
コマンドレットがトレース出力を送信するファイルを指定します。 このパラメーターは、ファイル トレース リスナーも選択します。
型: | String |
Aliases: | PSPath |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
ユーザーの確認を求めずにコマンドを強制的に実行します。 FilePath パラメーターと共に使用されます。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
トレース中に処理される式への入力を指定します。
式が受け入れる入力を表す変数を入力するか、パイプラインを介してオブジェクトを渡すことができます。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ListenerOption
出力内の各トレース メッセージのプレフィックスに省略可能なデータを指定します。 このパラメーターに使用できる値は次のとおりです。
- 無し
- 論理演算スタック
- 日付と時間
- タイムスタンプ
- ProcessId
- ThreadId
- コールスタック
デフォルトは None です。
複数のオプションを指定するには、スペースは含めずにコンマで区切り、"ProcessID,ThreadID" のように引用符で囲みます。
型: | TraceOptions |
指定可能な値: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
トレースする Windows PowerShell コンポーネントの配列を指定します。
各コンポーネントのトレース ソースの名前を入力します。
ワイルドカードを使用できます。
コンピューター上のトレース ソースを検索するには、「Get-TraceSource
」と入力します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Option
トレースされるイベントの種類を指定します。 このパラメーターに使用できる値は次のとおりです。
- 無し
- コンストラクタ
- 廃棄
- ファイナライザー
- メソッド
- プロパティ
- デリゲート
- イベント
- 例外
- ロック
- エラー
- エラー
- Warnung
- 詳細
- ライトライン
- データ
- 範囲
- 実行フロー
- 主張する
- 全て
ALL が既定値です。
次の値は、他の値の組み合わせです。
- ExecutionFlow: (コンストラクタ、Dispose、ファイナライザ、メソッド、デリゲート、イベント、およびスコープ)
- データ: (コンストラクタ、Dispose、ファイナライザ、プロパティ、詳細、および書き込みライン)
- エラー: (エラーと例外)。
複数のオプションを指定するには、オプションをカンマで区切り、スペースは使用せず、引用符で囲みます (例: "Constructor,Dispose")。
型: | PSTraceSourceOptions |
指定可能な値: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
配置: | 2 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PSHost
コマンドレットがトレース出力を Windows PowerShell ホストに送信することを示します。 このパラメーターは、PSHost トレース リスナーも選択します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
エクスプレッションへの入力を表すオブジェクトを Trace-Command にパイプ処理できます。
出力
デバッグ・ストリーム内のコマンド・トレースを返します。
メモ
トレースは、開発者がプログラムをデバッグおよび調整するために使用するメソッドです。 トレース時に、プログラムは内部処理の各ステップに関する詳細なメッセージを生成します。
Windows PowerShell トレース コマンドレットは、Windows PowerShell 開発者を支援するように設計されていますが、すべてのユーザーが使用できます。 シェルの機能のほぼすべての側面を監視できます。
トレースが有効になっている Windows PowerShell コンポーネントを見つけるには、「
Get-Help Get-TraceSource
」と入力します。トレース ソースは、トレースを管理し、コンポーネントのトレース メッセージを生成する各 Windows PowerShell コンポーネントの一部です。 コンポーネントをトレースするには、そのトレース ソースを識別します。
トレース リスナーは、トレースの出力を受け取り、ユーザーに表示します。 トレース データは、ユーザー モードデバッガーまたはカーネル モード デバッガー、ホストまたはコンソール、ファイル、または System.Diagnostics.TraceListener クラスから派生したカスタム リスナーに送信できます。
commandSet パラメーター セットを使用すると、Windows PowerShell はパイプラインで処理されるのと同じようにコマンドを処理します。 たとえば、コマンドの検出は、受信オブジェクトごとに繰り返されるわけではありません。
Name、Expression、Option、および Command パラメータの名前はオプションです。 パラメータ名を省略する場合、名前のないパラメータ値は、 Name、 Expression、 Option 、または Name、 Command、 Optionの順序で表示する必要があります。 パラメーター名を含める場合、パラメーターは任意の順序で表示できます。