다음을 통해 공유


Write-Debug

콘솔에 디버그 메시지를 씁니다.

구문

Default (기본값)

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

Description

Write-Debug cmdlet은 스크립트 또는 명령에서 호스트에 디버그 메시지를 씁니다.

기본적으로 디버그 메시지는 콘솔에 표시되지 않지만 디버그 매개 변수 또는 $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.

$DebugPreference에 대한 추가 정보는 의 about_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 Continue
$DebugPreference is Continue
PS> $DebugPreference
SilentlyContinue

$DebugPreference 매개 변수를 사용하면 값이 변경됩니다. 이 변경 내용은 함수의 범위에만 영향을 줍니다. 값은 함수 외부의 영향을 받지 않습니다.

디버그 공통 매개 변수에 대한 자세한 내용은 about_CommonParameters참조하세요.

매개 변수

-Message

콘솔에 보낼 디버그 메시지를 지정합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:메시지

매개 변수 집합

(All)
Position:0
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

String

디버그 메시지가 포함된 문자열을 이 cmdlet으로 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다. 디버그 스트림에만 씁니다.