Set-PSDebug

Aktiverar och inaktiverar skriptfelsökningsfunktioner, ställer in spårningsnivån och växlar strikt läge.

Syntax

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

Description

Cmdleten Set-PSDebug aktiverar och inaktiverar funktioner för felsökning av skript, ställer in spårningsnivån och växlar strikt läge. Som standard är PowerShell-felsökningsfunktionerna inaktiverade.

När parametern Trace har värdet 1, spåras varje rad med skript när den körs. När parametern har värdet 2, spåras även variabeltilldelningar, funktionsanrop och skriptanrop. Om parametern Step (Steg ) anges uppmanas du att göra det innan varje rad i skriptet körs.

Exempel

Exempel 1: Ange spårningsnivå

Det här exemplet anger spårningsnivån till 2och kör sedan ett skript som visar siffrorna 1, 2 och 3.

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 = ''.

Exempel 2: Aktivera stegning

Det här exemplet aktiverar stegning och kör sedan ett skript som visar siffrorna 1, 2 och 3.

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

Exempel 3: Använd strikt läge

Det här exemplet försätter PowerShell i strikt läge och försöker komma åt en variabel som inte har ett tilldelat värde.

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

Exempel 4: Inaktivera felsökningsfunktioner

Det här exemplet inaktiverar alla felsökningsfunktioner och kör sedan ett skript som visar siffrorna 1, 2 och 3.

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

1
2
3

Parametrar

-Off

Inaktiverar alla funktioner för felsökning av skript.

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

-Step

Aktiverar skriptstegning. Innan varje rad körs uppmanar PowerShell dig att stoppa, fortsätta eller ange en ny tolknivå för att kontrollera skriptets tillstånd.

Om du anger parametern Step anges automatiskt spårningsnivån 1.

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

-Strict

Anger att variabler måste tilldelas ett värde innan de refereras i ett skript. Om en variabel refereras till innan ett värde tilldelas returnerar PowerShell ett undantagsfel. Detta motsvarar Set-StrictMode -Version 1. Mer information finns i Set-StrictMode.

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

-Trace

Anger spårningsnivån för varje rad i ett skript. Varje rad spåras när den körs.

Godkända värden för den här parametern är följande:

  • 0: Inaktivera skriptspårning.
  • 1: Spåra skriptrader när de körs.
  • 2: Spåra skriptrader, variabeltilldelningar, funktionsanrop och skript.
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte pipelineindata till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.