Поделиться через


Write-Debug

Выводит сообщение отладки на консоль.

Синтаксис

Write-Debug
     [-Message] <String>
     [<CommonParameters>]

Описание

Командлет Write-Debug записывает сообщения отладки на узел из скрипта или команды.

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

Примеры

Пример 1. Понимание $DebugPreference

В этом примере записывается отладочное сообщение.

Write-Debug "Cannot open file."

Значение $DebugPreference по умолчанию — SilentlyContinue. Поэтому сообщение не отображается в консоли.

Пример 2. Изменение значения $DebugPreference

В этом примере показан эффект изменения значения переменной $DebugPreference . Во-первых $DebugPreference , мы отображаем текущее значение и пытаемся написать отладочное сообщение. Затем мы изменим значение $DebugPreference "Продолжить", что позволяет отображать отладочные сообщения.

PS> $DebugPreference
SilentlyContinue
PS> Write-Debug "Cannot open file."
PS>
PS> $DebugPreference = "Continue"
PS> Write-Debug "Cannot open file."
DEBUG: Cannot open file.

Дополнительные сведения см. в $DebugPreferenceabout_Preference_Variables.

Пример 3. Использование параметра отладки для переопределения $DebugPreference

Функция Test-Debug записывает значение переменной $DebugPreference в узел PowerShell и в поток отладки. В этом примере для переопределения значения используется параметр Отладки$DebugPreference.

function Test-Debug {
    [CmdletBinding()]
    param()
    Write-Debug ('$DebugPreference is ' + $DebugPreference)
    Write-Host ('$DebugPreference is ' + $DebugPreference)
}

PS> Test-Debug
$DebugPreference is SilentlyContinue

PS> Test-Debug -Debug
DEBUG: $DebugPreference is Inquire

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):
$DebugPreference is Inquire
PS> $DebugPreference
SilentlyContinue

Обратите внимание, что значение изменений при использовании параметра отладки$DebugPreference. Это изменение влияет только на область действия функции. Значение не затрагивается за пределами функции.

Примечание.

Если значение $DebugPreference inquire равно Inquire, PowerShell останавливает выполнение, чтобы узнать, следует ли продолжить выполнение.

Дополнительные сведения об общем параметре отладки см. в about_CommonParameters.

Параметры

-Message

Задает сообщение отладки для отправки на консоль.

Тип:String
Aliases:Msg
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

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

String

Вы можете передать строку, содержащую отладочное сообщение в этот командлет.

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

None

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