Trace-Command
Hiermee configureert en start u een tracering van de opgegeven expressie of opdracht.
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
De Trace-Command cmdlet configureert en start een tracering van de opgegeven expressie of opdracht.
Het werkt als Set-TraceSource, behalve dat deze alleen van toepassing is op de opgegeven opdracht.
Voorbeelden
Voorbeeld 1: Verwerking van metagegevens, parameterbinding en een expressie traceren
In dit voorbeeld wordt een tracering gestart van de verwerking van metagegevens, parameterbinding en het maken en vernietigen van de Get-Process Notepad expressie.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Hierbij wordt de parameter Name gebruikt om de traceringsbronnen op te geven, de expressieparameter om de opdracht op te geven en de PSHost-parameter om de uitvoer naar de console te verzenden. Omdat er geen traceringsopties of listeneropties worden opgegeven, gebruikt de opdracht de standaardinstellingen:
- Alles voor de traceringsopties
- Geen voor de listeneropties
Voorbeeld 2: De acties van ParameterBinding-bewerkingen traceren
In dit voorbeeld worden de acties van de ParameterBinding-bewerkingen van PowerShell bij het verwerken van een Get-Alias expressie die invoer uit de pijplijn neemt.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
In Trace-Commandgeeft de parameter InputObject een object door aan de expressie die tijdens de tracering wordt verwerkt.
Met de eerste opdracht wordt de tekenreeks i* opgeslagen in de $A variabele. De tweede opdracht maakt gebruik van de Trace-Command cmdlet met de ParameterBinding-traceringsbron. De PSHost-parameter verzendt de uitvoer naar de console.
De expressie die wordt verwerkt, is Get-Alias $Input, waarbij de $Input variabele is gekoppeld aan de parameter InputObject . De parameter InputObject geeft de variabele $A door aan de expressie. In feite is Get-Alias -InputObject $A" or "$A | Get-Aliasde opdracht die tijdens de tracering wordt verwerkt.
Parameters
Hiermee geeft u de parameters en parameterwaarden voor de opdracht die wordt getraceerd. De alias voor ArgumentList is Args. Deze functie is vooral handig voor het opsporen van fouten in dynamische parameters.
Zie about_Splatting voor meer informatie over het gedrag van ArgumentList.
| Type: | Object[] |
| Aliases: | Args |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een opdracht die wordt verwerkt tijdens de tracering.
| Type: | String |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft aan dat de cmdlet de traceringsuitvoer naar het foutopsporingsprogramma verzendt. U kunt de uitvoer bekijken in elk foutopsporingsprogramma voor gebruikersmodus of kernelmodus of in Visual Studio. Met deze parameter wordt ook de standaardtraceringslistener geselecteerd.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de expressie op die wordt verwerkt tijdens de tracering. Plaats de expressie tussen accolades ({}).
| Type: | ScriptBlock |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een bestand waarnaar de cmdlet de traceringsuitvoer verzendt. Met deze parameter wordt ook de listener voor bestandstracering geselecteerd.
| Type: | String |
| Aliases: | PSPath, Path |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Dwingt de opdracht uit te voeren zonder te vragen om bevestiging van de gebruiker. Wordt gebruikt met de parameter FilePath . Zelfs als u de parameter Force gebruikt, kan de cmdlet geen beveiligingsbeperkingen negeren.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u invoer op voor de expressie die tijdens de tracering wordt verwerkt. U kunt een variabele invoeren die de invoer vertegenwoordigt die door de expressie wordt geaccepteerd of een object doorgeven via de pijplijn.
| Type: | PSObject |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u optionele gegevens op voor het voorvoegsel van elk traceringsbericht in de uitvoer. De aanvaardbare waarden voor deze parameter zijn:
NoneLogicalOperationStackDateTimeTimestampProcessIdThreadIdCallstack
None is de standaardwaarde.
Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter ListenerOption als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire-OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en stelt u ook in staat om tabvoltooiing te gebruiken voor de waarden.
| Type: | TraceOptions |
| Accepted values: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een matrix van PowerShell-onderdelen op die worden getraceerd. Voer de naam in van de traceringsbron van elk onderdeel. Jokertekens zijn toegestaan. Als u de traceringsbronnen op uw computer wilt zoeken, typt u Get-TraceSource.
| Type: | String[] |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Bepaalt het type gebeurtenissen dat wordt getraceerd. De aanvaardbare waarden voor deze parameter zijn:
NoneConstructorDisposeFinalizerMethodPropertyDelegatesEventsExceptionLockErrorErrorsWarningVerboseWriteLineDataScopeExecutionFlowAssertAll
All is de standaardwaarde.
De volgende waarden zijn combinaties van andere waarden:
ExecutionFlow:Constructor,Dispose,Finalizer,Method,Delegates,Events,ScopeData:Constructor,Dispose,Finalizer,Property,Verbose,WriteLineErrors:Error,Exception
Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter Option als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire-OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en stelt u ook in staat om tabvoltooiing te gebruiken voor de waarden.
| 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Geeft aan dat de cmdlet de traceringsuitvoer naar de PowerShell-host verzendt. Deze parameter selecteert ook de PSHost-tracelistener.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
U kunt objecten doorsluisen die de invoer voor de expressie vertegenwoordigen.Trace-Command
Uitvoerwaarden
Retourneert de opdrachttracering in de foutopsporingsstroom.
Notities
Tracering is een methode die ontwikkelaars gebruiken om programma's op te sporen en te verfijnen. Bij het traceren genereert het programma gedetailleerde berichten over elke stap in de interne verwerking.
De PowerShell-tracerings-cmdlets zijn ontworpen om PowerShell-ontwikkelaars te helpen, maar ze zijn beschikbaar voor alle gebruikers. Hiermee kunt u bijna elk aspect van de functionaliteit van de shell bewaken.
Als u wilt zoeken naar de PowerShell-onderdelen die zijn ingeschakeld voor tracering, typt u
Get-Help Get-TraceSource.Een traceringsbron is het onderdeel van elk PowerShell-onderdeel dat tracerings- en traceringsberichten voor het onderdeel beheert en genereert. Als u een onderdeel wilt traceren, identificeert u de traceringsbron.
Een traceerlistener ontvangt de uitvoer van de tracering en geeft deze weer aan de gebruiker. U kunt ervoor kiezen om de traceringsgegevens te verzenden naar een foutopsporingsprogramma in de gebruikersmodus of kernelmodus, naar de host of console, naar een bestand of naar een aangepaste listener die is afgeleid van de klasse System.Diagnostics.TraceListener .
Wanneer u de parameterset commandSet gebruikt, verwerkt PowerShell de opdracht net zoals deze in een pijplijn zou worden verwerkt. Opdrachtdetectie wordt bijvoorbeeld niet herhaald voor elk binnenkomende object.
De namen van de parameters Naam, Expressie, Optie en Opdracht zijn optioneel. Als u de parameternamen weglaat, moeten de naamloze parameterwaarden in deze volgorde worden weergegeven: Naam, Expressie, Optie of Naam, Opdracht, Optie. Als u de parameternamen opneemt, kunnen de parameters in elke volgorde worden weergegeven.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor