Delen via


Set-PSDebug

Hiermee schakelt u functies voor scriptopsporing in en uit, stelt u het traceringsniveau in en schakelt u de strikte modus in.

Syntax

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

Description

De Set-PSDebug cmdlet schakelt script foutopsporingsfuncties in en uit, stelt het traceringsniveau in en schakelt strikte modus in. Standaard zijn de Functies voor foutopsporing van PowerShell uitgeschakeld.

Wanneer de traceringsparameter een waarde heeft, 1wordt elke regel van het script getraceerd terwijl deze wordt uitgevoerd. Wanneer de parameter een waarde heeft van 2, worden variabeletoewijzingen, functie-aanroepen en scriptoproepen ook getraceerd. Als de parameter Stap is opgegeven, wordt u gevraagd voordat elke regel van het script wordt uitgevoerd.

Voorbeelden

Voorbeeld 1: Het traceringsniveau instellen

In dit voorbeeld wordt het traceringsniveau 2ingesteld op en wordt vervolgens een script uitgevoerd waarin de getallen 1, 2 en 3 worden weergegeven.

Set-PSDebug -Trace 2; foreach ($i in 1..3) {$i}

DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in  >>>> 1..3) {$i}
DEBUG:     ! SET $foreach = 'IEnumerator'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '1'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
1
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '2'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
2
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '3'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
3
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $foreach = ''.

Voorbeeld 2: Stapstappen inschakelen

In dit voorbeeld wordt stapstap ingeschakeld en wordt vervolgens een script uitgevoerd waarin de getallen 1, 2 en 3 worden weergegeven.

Set-PSDebug -Step; foreach ($i in 1..3) {$i}

Continue with this operation?
   1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
DEBUG:    1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
1
2
3

Voorbeeld 3: Strikte modus gebruiken

In dit voorbeeld wordt PowerShell in de strikte modus geplaatst en wordt geprobeerd toegang te krijgen tot een variabele die geen toegewezen waarde heeft.

Set-PSDebug -Strict; $NewVar

The variable '$NewVar' cannot be retrieved because it has not been set.
At line:1 char:22
+ Set-PSDebug -Strict; $NewVar

Voorbeeld 4: Foutopsporingsfuncties uitschakelen

In dit voorbeeld worden alle functies voor foutopsporing uitgeschakeld en wordt vervolgens een script uitgevoerd waarin de getallen 1, 2 en 3 worden weergegeven.

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

Parameters

-Off

Hiermee schakelt u alle functies voor scriptopsporing uit.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Step

Hiermee schakelt u scriptstappen in. Voordat elke regel wordt uitgevoerd, vraagt PowerShell u om te stoppen, door te gaan of een nieuw interpreterniveau in te voeren om de status van het script te controleren.

Als u de parameter Stap opgeeft, wordt automatisch een traceringsniveau van 1ingesteld.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Strict

Hiermee geeft u op dat variabelen een waarde moeten worden toegewezen voordat naar een script wordt verwezen. Als naar een variabele wordt verwezen voordat een waarde wordt toegewezen, retourneert PowerShell een uitzonderingsfout. Dit is gelijk aan Set-StrictMode -Version 1. Zie Set-StrictMode voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Trace

Hiermee geeft u het traceringsniveau voor elke regel in een script. Elke regel wordt getraceerd terwijl deze wordt uitgevoerd.

De acceptabele waarden voor deze parameter zijn als volgt:

  • 0: Scripttracering uitschakelen.
  • 1: Scriptlijnen traceren terwijl ze worden uitgevoerd.
  • 2: Scriptlijnen, variabele toewijzingen, functie-aanroepen en scripts traceren.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.