Trace-Command
Konfigurerar och startar en spårning av det angivna uttrycket eller kommandot.
Syntax
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>]
Description
Cmdleten Trace-Command
konfigurerar och startar en spårning av det angivna uttrycket eller kommandot.
Den fungerar som Set-TraceSource, förutom att den endast gäller för det angivna kommandot.
Exempel
Exempel 1: Spåra metadatabearbetning, parameterbindning och ett uttryck
Det här exemplet startar en spårning av metadatabearbetning, parameterbindning och cmdlet-skapande och destruktion av Get-Process Notepad
uttrycket.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Den använder parametern Namn för att ange spårningskällorna, parametern Uttryck för att ange kommandot och PSHost-parametern för att skicka utdata till konsolen. Eftersom det inte anger några spårningsalternativ eller lyssnaralternativ använder kommandot standardvärdena:
- Allt för spårningsalternativen
- Ingen för lyssnaralternativen
Exempel 2: Spåra åtgärderna för ParameterBinding-åtgärder
Det här exemplet spårar åtgärderna för ParameterBinding-åtgärderna i PowerShell medan det bearbetar ett Get-Alias
uttryck som tar indata från pipelinen.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
I Trace-Command
skickar parametern InputObject ett objekt till uttrycket som bearbetas under spårningen.
Det första kommandot lagrar strängen i*
i variabeln $A
. Det andra kommandot använder cmdleten Trace-Command
med ParameterBinding-spårningskällan. PSHost-parametern skickar utdata till konsolen.
Uttrycket som bearbetas är Get-Alias $Input
, där variabeln $Input
är associerad med parametern InputObject . Parametern InputObject skickar variabeln $A
till uttrycket. I själva verket är Get-Alias -InputObject $A" or "$A | Get-Alias
kommandot som bearbetas under spårningen .
Parametrar
-ArgumentList
Anger parametrarna och parametervärdena för kommandot som spåras. Aliaset för ArgumentList är Args. Den här funktionen är särskilt användbar för felsökning av dynamiska parametrar.
Mer information om beteendet för ArgumentList finns i about_Splatting.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
Anger ett kommando som bearbetas under spårningen.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Debugger
Anger att cmdleten skickar spårningsutdata till felsökaren. Du kan visa utdata i valfritt felsökningsprogram för användarläge eller kernelläge eller i Visual Studio. Den här parametern väljer också standardspårningslyssnaren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
Anger det uttryck som bearbetas under spårningen. Omslut uttrycket i klammerparenteser ({}
).
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Anger en fil som cmdleten skickar spårningsutdata till. Den här parametern väljer även filspårningslyssnaren.
Type: | String |
Aliases: | PSPath, Path |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Tvingar kommandot att köras utan att be om användarbekräftelse. Används med FilePath-parametern . Även om du använder force-parametern kan cmdleten inte åsidosätta säkerhetsbegränsningar.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Anger indata för uttrycket som bearbetas under spårningen. Du kan ange en variabel som representerar de indata som uttrycket accepterar eller skicka ett objekt via pipelinen.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListenerOption
Anger valfria data till prefixet för varje spårningsmeddelande i utdata. De acceptabla värdena för den här parametern är:
None
LogicalOperationStack
DateTime
Timestamp
ProcessId
ThreadId
Callstack
None
används som standard.
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med den här parametern. Värdena kan skickas till parametern ListenerOption som en matris med värden eller som en kommaavgränsad sträng med dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och gör att du även kan använda tab-completion på värdena.
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
Anger en matris med PowerShell-komponenter som spåras. Ange namnet på spårningskällan för varje komponent. Jokertecken tillåts. Om du vill hitta spårningskällorna på datorn skriver du Get-TraceSource
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
Avgör vilken typ av händelser som spåras. De acceptabla värdena för den här parametern är:
None
Constructor
Dispose
Finalizer
Method
Property
Delegates
Events
Exception
Lock
Error
Errors
Warning
Verbose
WriteLine
Data
Scope
ExecutionFlow
Assert
All
All
används som standard.
Följande värden är kombinationer av andra värden:
ExecutionFlow
:Constructor
,Dispose
,Finalizer
,Method
,Delegates
,Events
,Scope
Data
:Constructor
,Dispose
,Finalizer
,Property
,Verbose
,WriteLine
Errors
:Error
,Exception
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med den här parametern. Värdena kan skickas till parametern Alternativ som en matris med värden eller som en kommaavgränsad sträng för dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och gör att du även kan använda tab-completion på värdena.
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
Anger att cmdleten skickar spårningsutdata till PowerShell-värden. Den här parametern väljer även PSHost-spårningslyssnaren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka objekt som representerar indata till uttrycket till Trace-Command
.
Utdata
Returnerar kommandospårningen i felsökningsströmmen.
Kommentarer
Spårning är en metod som utvecklare använder för att felsöka och förfina program. När du spårar genererar programmet detaljerade meddelanden om varje steg i den interna bearbetningen.
PowerShell-spårnings-cmdletar är utformade för att hjälpa PowerShell-utvecklare, men de är tillgängliga för alla användare. De gör att du kan övervaka nästan alla aspekter av gränssnittets funktioner.
Om du vill hitta De PowerShell-komponenter som är aktiverade för spårning skriver du
Get-Help Get-TraceSource
.En spårningskälla är den del av varje PowerShell-komponent som hanterar spårning och genererar spårningsmeddelanden för komponenten. Om du vill spåra en komponent identifierar du dess spårningskälla.
En spårningslyssnare tar emot spårningens utdata och visar den för användaren. Du kan välja att skicka spårningsdata till en felsökare i användarläge eller kernelläge, till värden eller konsolen, till en fil eller till en anpassad lyssnare som härletts från klassen System.Diagnostics.TraceListener .
När du använder parameteruppsättningen commandSet bearbetar PowerShell kommandot precis som det skulle bearbetas i en pipeline. Till exempel upprepas inte kommandoidentifiering för varje inkommande objekt.
Namnen på parametrarna Namn, Uttryck, Alternativ och Kommando är valfria. Om du utelämnar parameternamnen måste de namnlösa parametervärdena visas i den här ordningen: Namn, Uttryck, Alternativ eller Namn, Kommando, Alternativ. Om du inkluderar parameternamnen kan parametrarna visas i valfri ordning.