Set-PSDebug
Включает и отключает функции отладки скриптов, задает уровень трассировки и переключает строгий режим.
Синтаксис
on
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
off
Set-PSDebug
[-Off]
[<CommonParameters>]
Описание
Командлет Set-PSDebug включает и отключает функции отладки скриптов, задает уровень трассировки и переключает строгий режим. По умолчанию функции отладки PowerShell отключены.
Если параметр трассировки 2, задания переменных, вызовы функций и вызовы скриптов также трассируются. Если параметр шага указан, вы получите приглашение перед выполнением каждой строки скрипта.
Примеры
Пример 1. Настройка уровня трассировки
В этом примере уровень трассировки устанавливается на 2, а затем запускается скрипт, отображающий числа 1, 2 и 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 = ''.
Пример 2. Включите пошаговый режим
Этот пример включает пошаговое выполнение, а затем запускает скрипт, отображающий числа 1, 2 и 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
Пример 3. Использование строгого режима
В этом примере PowerShell переводится в строгий режим и пытается получить доступ к переменной, которой не назначено значение.
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
Пример 4. Отключение функций отладки
В этом примере отключают все функции отладки, а затем запускается скрипт, отображающий числа 1, 2 и 3.
Set-PSDebug -Off; foreach ($i in 1..3) {$i}
1
2
3
Параметры
-Off
Отключает все функции отладки скрипта.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
off
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Step
Включает режим пошагового выполнения скрипта. Перед выполнением каждой строки PowerShell предложит остановить, продолжить или ввести новый уровень интерпретатора для проверки состояния скрипта.
Указание параметра шага
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
on
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Strict
Указывает, что переменным необходимо присвоить значение, прежде чем ссылаться на них в скрипте. Если переменная ссылается перед назначением значения, PowerShell возвращает ошибку исключения. Это эквивалентно Set-StrictMode -Version 1. Дополнительные сведения см. в разделе Set-StrictMode.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
on
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Trace
Задает уровень трассировки для каждой строки в скрипте. Каждая линия отслеживается в процессе выполнения.
Допустимые значения для этого параметра приведены следующим образом:
- 0. Отключите трассировку скрипта.
- 1. Трассировка строк скрипта во время их выполнения.
- 2. Трассировка строк скриптов, назначений переменных, вызовов функций и скриптов.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
on
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.