Trace-Command
指定された式またはコマンドのトレースを構成し、開始します。
構文
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Expression] <ScriptBlock>
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Command] <String>
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
説明
コマンドレットは Trace-Command
、指定された式またはコマンドのトレースを構成して開始します。
Set-TraceSource と同様に機能しますが、指定されたコマンドにのみ適用される点が異なります。
例
例 1: メタデータ処理、パラメーター バインド、および式をトレースする
この例では、メタデータ処理、パラメーター バインド、およびコマンドレットの作成と式の破棄のトレースを Get-Process Notepad
開始します。
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Name パラメーターを使用してトレース ソースを指定し、Expression パラメーターを使用してコマンドを指定し、PSHost パラメーターを使用して出力をコンソールに送信します。 トレース オプションまたはリスナー オプションが指定されていないため、コマンドでは既定値が使用されます。
- トレース オプションのすべて
- リスナー オプションに対してなし
例 2: ParameterBinding 操作のアクションをトレースする
この例では、パイプラインから入力を受け取る式を処理Get-Alias
している間に、PowerShell の ParameterBinding 操作のアクションをトレースします。
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
で Trace-Command
、 InputObject パラメーターは、トレース中に処理されている式にオブジェクトを渡します。
最初のコマンドは、変数に文字列 i*
を $A
格納します。 2 番目のコマンドでは、 Trace-Command
ParameterBinding トレース ソースと共にコマンドレットを使用します。 PSHost パラメーターは、出力をコンソールに送信します。
処理される式は、Get-Alias $Input
変数が InputObject パラメーターに関連付けられている場所$Input
です。 InputObject パラメーターは、式に変数$A
を渡します。 実際には、トレース中に処理されるコマンドは Get-Alias -InputObject $A" or "$A | Get-Alias
.
パラメーター
-ArgumentList
トレースするコマンドのパラメーターとパラメーターの値を指定します。 ArgumentList のエイリアスは Args です。 この機能は、動的パラメーターのデバッグに役立ちます。
ArgumentList の動作の詳細については、about_Splattingを参照してください。
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
トレース中に処理されるコマンドを指定します。
このパラメーターを使用すると、PowerShell はパイプラインで処理されるのと同じようにコマンドを処理します。 たとえば、受信オブジェクトごとにコマンド検出は繰り返されません。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Debugger
コマンドレットがデバッガーにトレース出力を送信することを示します。 出力はユーザー モードまたはカーネル モードのデバッガーや、Visual Studio で表示することができます。 このパラメーターは、既定のトレース リスナーも選択します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
トレース中に処理される式を指定します。 式を中かっこ ({}
) で囲みます。
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
コマンドレットがトレース出力を送信するファイルを指定します。 このパラメーターは、ファイル トレース リスナーも選択します。
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
ユーザーに確認せずに、直ちにコマンドを実行します。 FilePath パラメーターと共に使用されます。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
トレース中に処理される式への入力を指定します。 式が受け取る入力を表した変数を入力するか、パイプラインを通じてオブジェクトを渡すことができます。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListenerOption
出力内の各トレース メッセージのプレフィックスに省略可能なデータを指定します。 このパラメーターの有効値は、次のとおりです。
None
LogicalOperationStack
DateTime
Timestamp
ProcessId
ThreadId
Callstack
None
は既定値です。
これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、値の 配列として、またはそれらの値のコンマ区切り文字列として ListenerOption パラメーターに渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。
Type: | TraceOptions |
Accepted values: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
トレースされる PowerShell コンポーネントの配列を指定します。 各コンポーネントのトレース ソースの名前を入力します。 ワイルドカードを使用できます。 コンピューター上のトレース ソースを検索するには、「.」と入力します Get-TraceSource
。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
トレース対象のイベントの種類を決定します。 このパラメーターの有効値は、次のとおりです。
None
Constructor
Dispose
Finalizer
Method
Property
Delegates
Events
Exception
Lock
Error
Errors
Warning
Verbose
WriteLine
Data
Scope
ExecutionFlow
Assert
All
All
は既定値です。
次の値はその他の値の組み合わせです。
ExecutionFlow
:Constructor
,Dispose
, ,Finalizer
,Method
,Delegates
,Events
Scope
Data
:Constructor
,Dispose
, ,Finalizer
,Property
,Verbose
WriteLine
Errors
:Error
、Exception
これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、値の 配列として、またはそれらの値のコンマ区切り文字列として Option パラメーターに渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。
Type: | PSTraceSourceOptions |
Accepted values: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PSHost
コマンドレットが PowerShell ホストにトレース出力を送信することを示します。 このパラメーターは、PSHost トレース リスナーも選択します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
式への入力を表すオブジェクトをこのコマンドレットにパイプできます。
出力
このコマンドレットは、それ自体の出力を返しません。 トレースされたコマンドは出力を返す場合があります。 このコマンドレットは、コマンド トレースをデバッグ ストリームに書き込みます。
メモ
Windows PowerShell には、次のエイリアスが Trace-Command
含まれています。
trcm
トレースは、開発者がプログラムをデバッグし、調整するために使用するメソッドです。 トレース時に、プログラムは、内部処理の各手順について詳細なメッセージを生成します。 PowerShell トレース コマンドレットは、PowerShell 開発者を支援するように設計されていますが、すべてのユーザーが使用できます。 シェルの機能のほとんどすべての側面を監視します。
トレース ソースは、トレースを管理し、コンポーネントのトレース メッセージを生成する各 PowerShell コンポーネントの一部です。 コンポーネントをトレースするには、トレース ソースを特定します。
トレースが有効になっている PowerShell コンポーネントの一覧を表示するために使用 Get-TraceSource
します。
トレース リスナーは、トレースの出力を受け取り、ユーザーに表示します。 トレース データは、ユーザー モードデバッガーまたはカーネル モード デバッガー、ホストまたはコンソール、ファイル、または System.Diagnostics.TraceListener クラスから派生したカスタム リスナーに送信できます。
関連リンク
PowerShell