Set-PSDebug
Aktiviert und deaktiviert Skriptdebuggingfeatures, legt die Ablaufverfolgungsebene fest und schaltet den strengen Modus um.
Syntax
on
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
off
Set-PSDebug
[-Off]
[<CommonParameters>]
Beschreibung
Das Set-PSDebug Cmdlet aktiviert und deaktiviert Skriptdebuggingfeatures, legt die Ablaufverfolgungsebene fest und schaltet den strikten Modus um. Standardmäßig sind die PowerShell-Debugfeatures deaktiviert.
Wenn der Parameter Trace einen Wert aufweist 1, wird jede Skriptzeile während der Ausführung nachverfolgt. Wenn der Parameter einen Wert hat 2, werden variablen Zuordnungen, Funktionsaufrufe und Skriptaufrufe ebenfalls nachverfolgt. Wenn der Parameter "Step " angegeben ist, werden Sie vor jeder Zeile des Skripts aufgefordert.
Beispiele
Beispiel 1: Festlegen der Ablaufverfolgungsebene
In diesem Beispiel wird die Ablaufverfolgungsebene auf 2, und anschließend wird ein Skript ausgeführt, das die Zahlen 1, 2 und 3 anzeigt.
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 = ''.
Beispiel 2: Aktivieren des Schritts
In diesem Beispiel wird das Schrittweise ausführen und dann ein Skript ausgeführt, das die Zahlen 1, 2 und 3 anzeigt.
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
Beispiel 3: Verwenden des strikten Modus
In diesem Beispiel wird PowerShell im strikten Modus platziert und versucht, auf eine Variable zuzugreifen, die keinen zugewiesenen Wert aufweist.
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
Beispiel 4: Deaktivieren von Debugfeatures
In diesem Beispiel werden alle Debugfeatures deaktiviert und anschließend ein Skript ausgeführt, das die Zahlen 1, 2 und 3 anzeigt.
Set-PSDebug -Off; foreach ($i in 1..3) {$i}
1
2
3
Parameter
-Off
Deaktiviert alle Skriptdebuggingfeatures.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
off
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Step
Aktiviert das Schrittweise Ausführen von Skripts. Bevor jede Zeile ausgeführt wird, fordert PowerShell Sie auf, den Status des Skripts zu beenden, fortzusetzen oder eine neue Dolmetscherebene einzugeben.
Wenn Sie den Parameter Step angeben, wird automatisch eine Ablaufverfolgungsebene festgelegt 1.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
on
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Strict
Gibt an, dass Variablen einem Wert zugewiesen werden müssen, bevor in einem Skript darauf verwiesen wird. Wenn vor der Zuweisung eines Werts auf eine Variable verwiesen wird, gibt PowerShell einen Ausnahmefehler zurück. Dieser entspricht Set-StrictMode -Version 1. Weitere Informationen finden Sie unter Set-StrictMode.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
on
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Trace
Gibt die Ablaufverfolgungsebene für jede Zeile in einem Skript an. Jede Zeile wird während der Ausführung nachverfolgt.
Die zulässigen Werte für diesen Parameter sind wie folgt:
- 0: Deaktivieren der Skriptablaufverfolgung.
- 1: Nachverfolgen von Skriptzeilen während der Ausführung.
- 2: Ablaufverfolgung von Skriptzeilen, Variablenzuweisungen, Funktionsaufrufen und Skripts.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
on
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.