Trace-Command
Konfigurerar och startar en spårning av det angivna uttrycket eller kommandot.
Syntax
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>]
Description
Cmdleten Trace-Command konfigurerar och startar en spårning av det angivna uttrycket eller kommandot. Det fungerar som Set-TraceSource, förutom att det endast gäller för det angivna kommandot.
Exempel
Exempel 1: Spåra metadatabearbetning, parameterbindning och ett uttryck
PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Det här kommandot startar en spårning av metadatabearbetning, parameterbindning och cmdlet-skapande och destruktion av Get-Process Notepad
-uttrycket.
Den använder parametern Name för att ange spårningskällorna, parametern Expression för att ange kommandot och parametern PSHost för att skicka utdata till konsolen.
Eftersom det inte anger några spårningsalternativ eller lyssnaralternativ använder kommandot standardvärdena – Alla för spårningsalternativen och Ingen för lyssnaralternativen.
Exempel 2: Spåra åtgärderna för ParameterBinding-åtgärder
PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
Dessa kommandon spårar åtgärderna för ParameterBinding-åtgärderna i Windows PowerShell medan det bearbetar ett Get-Alias uttryck som tar indata från pipelinen.
I Trace-Commandskickar parametern InputObject ett objekt till det uttryck 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. Parametern PSHost 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 bearbetas kommandot under spårningen Get-Alias -InputObject $A" or "$A | Get-Alias
.
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.
Typ: | Object[] |
Alias: | Args |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Command
Anger ett kommando som bearbetas under spårningen.
Typ: | String |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Debugger
Anger att cmdleten skickar spårningsutdata till felsökningsprogrammet. 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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Expression
Anger det uttryck som bearbetas under spårningen. Omslut uttrycket i klammerparenteser ({}).
Typ: | ScriptBlock |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FilePath
Anger en fil som cmdleten skickar spårningsutdata till. Den här parametern väljer också lyssnaren för filspårning.
Typ: | String |
Alias: | PSPath |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Force
Tvingar kommandot att köras utan att be om användarbekräftelse. Används med parametern FilePath. Även om du använder parametern Force kan cmdleten inte åsidosätta säkerhetsbegränsningar.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Anger indata till det uttryck som bearbetas under spårningen.
Du kan ange en variabel som representerar de indata som uttrycket accepterar eller skicka ett objekt via pipelinen.
Typ: | PSObject |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ListenerOption
Anger valfria data till prefixet för varje spårningsmeddelande i utdata. De godtagbara värdena för den här parametern är:
- Ingen
- LogicalOperationStack
- DateTime
- Tidsstämpel
- ProcessId
- ThreadId
- Samtalstack
Ingen är standard.
Om du vill ange flera alternativ avgränsar du dem med kommatecken, men utan blanksteg, och omger dem inom citattecken, till exempel "ProcessID, ThreadID".
Typ: | TraceOptions |
Godkända värden: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Name
Anger en matris med Windows 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
.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Option
Anger vilken typ av händelser som spåras. De godtagbara värdena för den här parametern är:
- Ingen
- Konstruktor
- Disponera
- Finalizer
- Metod
- Egenskap
- Delegater
- Evenemang
- Undantag
- Lås
- Fel
- Fel
- Varning
- Mångordig
- WriteLine
- Data
- Omfattning
- ExecutionFlow
- Hävda
- Alla
Allt är standard.
Följande värden är kombinationer av andra värden:
- ExecutionFlow: (Konstruktor, Avyttra, Slutför, Metod, Ombud, Händelser och Omfång)
- Data: (Konstruktor, Avyttra, Slutför, Egenskap, Utförlig och WriteLine)
- Fel: (Fel och undantag).
Om du vill ange flera alternativ separerar du dem med kommatecken, men utan blanksteg, och omger dem inom citattecken, till exempel "Konstruktor, Ta bort".
Typ: | PSTraceSourceOptions |
Godkända värden: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PSHost
Anger att cmdleten skickar spårningsutdata till Windows PowerShell-värden. Den här parametern väljer även PSHost-spårningslyssnaren.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka pipe-objekt som representerar indata till uttrycket för att 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.
Windows PowerShell-cmdletar för spårning är utformade för att hjälpa Windows 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 Windows PowerShell-komponenter som är aktiverade för spårning skriver du
Get-Help Get-TraceSource
.En spårningskälla är den del av varje Windows 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 utdata från spårningen och visar den för användaren. Du kan välja att skicka spårningsdata till ett felsökningsprogram 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 Windows PowerShell kommandot precis som det skulle bearbetas i en pipeline. Till exempel upprepas inte kommandoidentifiering för varje inkommande objekt.
Namnen på parametrarna Name, Expression, Optionoch Command är valfria. Om du utelämnar parameternamnen måste de namnlösa parametervärdena visas i följande ordning: Name, Expression, Option eller Name, Command, Option. Om du inkluderar parameternamnen kan parametrarna visas i valfri ordning.