Dela via


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 skriptfelsökningsfunktioner, anger spårningsnivån 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 2spåras även variabeltilldelningar, funktionsanrop och skriptanrop. Om parametern Steg anges uppmanas du att göra det innan varje rad i skriptet körs.

Exempel

Exempel 1: Ange spårningsnivå

I det här exemplet anges 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.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 Steg anges automatiskt en spårningsnivå på 1.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.
Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka pipelineindata till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.