Trace-Command
Configura e avvia una traccia dell'espressione o del comando specificato.
Sintassi
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>]
Descrizione
Il cmdlet Trace-Command configura e avvia una traccia dell'espressione o del comando specificato. Funziona come Set-TraceSource, ad eccezione del fatto che si applica solo al comando specificato.
Esempio
Esempio 1: Elaborazione dei metadati di traccia, associazione di parametri e espressione
PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Questo comando avvia una traccia dell'elaborazione dei metadati, dell'associazione dei parametri e della creazione e della distruzione dei cmdlet dell'espressione Get-Process Notepad
.
Usa il parametro Name
Esempio 2: Tracciare le azioni delle operazioni ParameterBinding
PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
Questi comandi tracciano le azioni delle operazioni ParameterBinding di Windows PowerShell mentre elabora un'espressione Get-Alias che accetta input dalla pipeline.
In
Il primo comando archivia la stringa "i*" nella variabile $A.
Il secondo comando usa il cmdlet Trace-Command con l'origine di traccia ParameterBinding.
Il parametro PSHost
L'espressione elaborata viene Get-Alias -InputObject $A" or "$A | Get-Alias
.
Parametri
-ArgumentList
Specifica i parametri e i valori dei parametri per il comando da tracciare. L'alias per ArgumentList è Args. Questa funzionalità è particolarmente utile per il debug di parametri dinamici.
Tipo: | Object[] |
Alias: | Args |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Command
Specifica un comando che viene elaborato durante la traccia.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Debugger
Indica che il cmdlet invia l'output di traccia al debugger. È possibile visualizzare l'output in qualsiasi debugger in modalità utente o kernel o in Visual Studio. Questo parametro seleziona anche il listener di traccia predefinito.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Expression
Specifica l'espressione che viene elaborata durante la traccia. Racchiudere l'espressione tra parentesi graffe ({}).
Tipo: | ScriptBlock |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-FilePath
Specifica un file a cui il cmdlet invia l'output della traccia. Questo parametro seleziona anche il listener di traccia file.
Tipo: | String |
Alias: | PSPath |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Force
Forza l'esecuzione del comando senza chiedere conferma dell'utente.
Utilizzato con il parametro
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica l'input per l'espressione che viene elaborata durante la traccia.
È possibile immettere una variabile che rappresenta l'input accettato dall'espressione o passare un oggetto attraverso la pipeline.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ListenerOption
Specifica i dati facoltativi per il prefisso di ogni messaggio di traccia nell'output. I valori accettabili per questo parametro sono:
- Nessuno
- LogicalOperationStack
- DateTime
- Timestamp
- ProcessId
- ThreadId
- Callstack
Nessuna è l'impostazione predefinita.
Per specificare più opzioni, separarle con virgole, ma senza spazi e racchiuderle tra virgolette, ad esempio "ProcessID,ThreadID".
Tipo: | TraceOptions |
Valori accettati: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Name
Specifica una matrice di componenti di Windows PowerShell tracciati.
Immettere il nome dell'origine di traccia di ogni componente.
Sono consentiti caratteri jolly.
Per trovare le origini di traccia nel computer, digitare Get-TraceSource
.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Option
Specifica il tipo di eventi tracciati. I valori accettabili per questo parametro sono:
- Nessuno
- Costruttore
- Disporre
- Finalizzatore
- Metodo
- Proprietà
- Delegati
- Avvenimenti
- Eccezione
- Serratura
- Errore
- Errori
- Avvertimento
- Prolisso
- WriteLine
- Dati
- Portata
- ExecutionFlow
- Asserire
- Tutto
Tutto è l'impostazione predefinita.
I valori seguenti sono combinazioni di altri valori:
- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events e Scope)
- Dati: (Constructor, Dispose, Finalizer, Property, Verbose e WriteLine)
- Errori: (errore ed eccezione).
Per specificare più opzioni, separarle con virgole, ma senza spazi e racchiuderle tra virgolette, ad esempio "Costruttore,Dispose".
Tipo: | PSTraceSourceOptions |
Valori accettati: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PSHost
Indica che il cmdlet invia l'output di traccia all'host di Windows PowerShell. Questo parametro seleziona anche il listener di traccia PSHost.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe oggetti che rappresentano l'input all'espressione per Trace-Command.
Output
Restituisce la traccia del comando nel flusso di debug.
Note
La traccia è un metodo che gli sviluppatori usano per eseguire il debug e perfezionare i programmi. Durante la traccia, il programma genera messaggi dettagliati su ogni passaggio nell'elaborazione interna.
I cmdlet di traccia di Windows PowerShell sono progettati per aiutare gli sviluppatori di Windows PowerShell, ma sono disponibili per tutti gli utenti. Consentono di monitorare quasi ogni aspetto della funzionalità della shell.
Per trovare i componenti di Windows PowerShell abilitati per la traccia, digitare
Get-Help Get-TraceSource
.Un'origine di traccia è la parte di ogni componente di Windows PowerShell che gestisce la traccia e genera messaggi di traccia per il componente. Per tracciare un componente, identificarne l'origine di traccia.
Un listener di traccia riceve l'output della traccia e lo visualizza all'utente. È possibile scegliere di inviare i dati di traccia a un debugger in modalità utente o in modalità kernel, all'host o alla console, a un file o a un listener personalizzato derivato dalla classe System.Diagnostics.TraceListener.
Quando si usa il set di parametri commandSet, Windows PowerShell elabora il comando esattamente come viene elaborato in una pipeline. Ad esempio, l'individuazione dei comandi non viene ripetuta per ogni oggetto in ingresso.
I nomi dei Name, Expression, Optione Command parametri sono facoltativi. Se si omettono i nomi dei parametri, i valori dei parametri senza nome devono essere visualizzati in questo ordine: Name, Expression, Option o Name, Command, Option. Se si includono i nomi dei parametri, i parametri possono essere visualizzati in qualsiasi ordine.