Set-PSDebug
Włącza i wyłącza funkcje debugowania skryptów, ustawia poziom śledzenia i przełącza tryb ścisły.
Składnia
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
Set-PSDebug
[-Off]
[<CommonParameters>]
Opis
Polecenie Set-PSDebug
cmdlet włącza i wyłącza funkcje debugowania skryptów, ustawia poziom śledzenia i przełącza tryb ścisły. Domyślnie funkcje debugowania programu PowerShell są wyłączone.
Gdy parametr Trace ma wartość 1
, każdy wiersz skryptu jest śledzony podczas jego uruchamiania. Gdy parametr ma wartość 2
, przypisania zmiennych, wywołań funkcji i wywołań skryptu są również śledzone. Jeśli określono parametr Krok, zostanie wyświetlony monit przed uruchomieniem każdego wiersza skryptu.
Przykłady
Przykład 1. Ustawianie poziomu śledzenia
Ten przykład ustawia poziom śledzenia na 2
wartość , a następnie uruchamia skrypt, który wyświetla liczby 1, 2 i 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 = ''.
Przykład 2. Włączanie kroków
W tym przykładzie włącza się krok po kroku, a następnie uruchamia skrypt, który wyświetla liczby 1, 2 i 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
Przykład 3. Używanie trybu ścisłego
W tym przykładzie program PowerShell jest w trybie ścisłym i próbuje uzyskać dostęp do zmiennej, która nie ma przypisanej wartości.
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
Przykład 4. Wyłączanie funkcji debugowania
Ten przykład wyłącza wszystkie funkcje debugowania, a następnie uruchamia skrypt, który wyświetla liczby 1, 2 i 3.
Set-PSDebug -Off; foreach ($i in 1..3) {$i}
1
2
3
Parametry
-Off
Wyłącza wszystkie funkcje debugowania skryptu.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Step
Włącza przechodzenie skryptu. Przed uruchomieniem każdego wiersza program PowerShell wyświetli monit o zatrzymanie, kontynuowanie lub wprowadzenie nowego poziomu interpretera w celu sprawdzenia stanu skryptu.
Określenie parametru Krok powoduje automatyczne ustawienie poziomu śledzenia .1
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Strict
Określa, że zmienne muszą mieć przypisaną wartość przed odwołaniem do skryptu. Jeśli zmienna jest przywołyowana przed przypisaną wartością, program PowerShell zwraca błąd wyjątku. Jest to odpowiednik Set-StrictMode -Version 1
elementu . Aby uzyskać więcej informacji, zobacz Set-StrictMode.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Trace
Określa poziom śledzenia dla każdego wiersza w skrycie. Każdy wiersz jest śledzony podczas jego uruchamiania.
Dopuszczalne wartości tego parametru są następujące:
- 0: Wyłącz śledzenie skryptów.
- 1: Śledzenie wierszy skryptu podczas ich uruchamiania.
- 2: Śledzenie wierszy skryptów, przypisań zmiennych, wywołań funkcji i skryptów.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.