Dela via


Set-PSDebug

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

Syntax

on

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

off

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 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 stega

Det här exemplet aktiverar stegvis körning 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

off
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Step

Aktiverar steg-för-steg felsökning för skript. 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

on
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

on
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

on
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

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

Utdata

None

Den här cmdleten returnerar inga utdata.