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.

Syntaxis

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 parameter Trace een waarde van 1heeft, wordt elke regel van het script getraceerd terwijl deze wordt uitgevoerd. Wanneer de parameter een waarde van 2heeft, 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 ingesteld op 2en 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 komt overeen met Set-StrictMode -Version 1. Zie Set-StrictModevoor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt geen pijplijninvoer voor deze cmdlet uitvoeren.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.