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은 출력을 반환하지 않습니다. 디버그 스트림에만 씁니다.