Позволяет включать и отключать функции отладки скриптов, устанавливать уровень трассировки и переключать строгий режим.

Синтаксис

Set-PSDebug [-Off] [<CommonParameters>]

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

Описание

Командлет Set-PSDebug позволяет включать и отключать функции отладки скриптов, устанавливать уровень трассировки и переключать строгий режим.

Если параметру Trace присвоено значение 1, будет осуществляться трассировка каждой сроки скрипта по мере ее выполнения. Если этому параметру присвоено значение 2, будут трассироваться также назначения переменных, вызовы функций и вызовы скриптов. Если задан параметр Step, перед выполнением каждой сроки скрипта будет появляться запрос.

Параметры

-Off

Отключает все функции отладки скриптов.

Примечание. Команда "Set-StrictMode -off" отключает проверку, заданную командой "set-psdebug -strict". Дополнительные сведения см. в описании командлета Set-StrictMode.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Step

Включает режим пошагового выполнения скриптов. Перед выполнением каждой строки пользователь получает запрос, следует ли остановить выполнение скрипта, продолжить выполнение или задать новый уровень интерпретатора команд для проверки состояния скрипта.

Примечание. При задании параметра Step параметру Trace автоматически присваивается значение 1.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Strict

Указывает, что интерпретатор должен создавать исключение, если происходит обращение к переменной до момента присвоения ей значения.

Примечание. Команда "Set-StrictMode -off" отключает проверку, заданную командой "set-psdebug -strict". Дополнительные сведения см. в описании командлета Set-StrictMode.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Trace <int>

Задает уровень трассировки:

0 — отключить трассировку скрипта

1 — трассировать строки скрипта по мере выполнения

2 — трассировать строки скрипта, присвоения значений переменным, обращения к функциям и скрипты.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

Нет

Передать входные данные этому командлету по конвейеру невозможно.

Выходные данные

Нет

Этот командлет не возвращает никаких выходных данных.

Пример 1

C:\PS>set-psdebug -trace 2; foreach ($i in 1..3) {$i}

DEBUG:	1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
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}
2
DEBUG:	1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
3

Описание
-----------
Эта команда задает уровень трассировки 2 и запускает скрипт, который отображает числа 1, 2 и 3.






Пример 2

C:\PS>set-psdebug -step; foreach ($i in 1..3) {$i}

DEBUG:	1+ 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

Описание
-----------
Эта команда включает пошаговый режим, а затем 
запускает скрипт, который отображает числа 1, 2 и 3.






Пример 3

C:\PS>set-psdebug -off; foreach ($i in 1..3) {$i}

1
2
3

Описание
-----------
Эта команда выключает все функции отладки, а затем запускает скрипт, который отображает числа 1, 2 и 3.






Пример 4

C:\PS>set-psdebug -strict; $NewVar

The variable $NewVar cannot be retrieved because it has not been set yet.
At line:1 char:28
+ Set-PsDebug -strict;$NewVar <<<<

Описание
-----------
Эта команда переводит интерпретатор в строгий режим и пытается получить доступ к переменной, значение которой еще не задано.






См. также