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 skriptfelsökning, anger spårningsnivå och växlar strikt läge. Som standard är Funktionerna för PowerShell-felsökning inaktiverade.

När parametern Trace har värdet 1spåras varje skriptrad när den körs. När parametern har värdet 2, spåras även variabeltilldelningar, funktionsanrop och skriptanrop. Om parametern Step har angetts uppmanas du 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 stegsteg 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 tillståndet för skriptet.

Om du anger parametern Step anges automatiskt en spårningsnivå på 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 skicka objekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.