Set-PSDebug
스크립트 디버깅 기능을 켜고 끄고, 추적 수준을 설정하고, strict 모드를 전환합니다.
구문
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
Set-PSDebug
[-Off]
[<CommonParameters>]
Description
Set-PSDebug
cmdlet은 스크립트 디버깅 기능을 설정/해제하고, 추적 수준을 설정하고, strict 모드를 전환합니다. 기본적으로 PowerShell 디버그 기능은 꺼져 있습니다.
Trace 매개 변수의 값이 1
경우 각 스크립트 줄이 실행될 때 추적됩니다. 매개 변수의 값이 2
경우 변수 할당, 함수 호출 및 스크립트 호출도 추적됩니다.
Step 매개 변수를 지정하면 스크립트의 각 줄이 실행되기 전에 메시지가 표시됩니다.
예제
예제 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: strict 모드 사용
다음은 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 |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Step
스크립트 스테이핑을 켭니다. 각 줄을 실행하기 전에 PowerShell은 스크립트의 상태를 검사하기 위해 새 인터프리터 수준을 중지, 계속 또는 입력하라는 메시지를 표시합니다.
Step 매개 변수를 지정하면 추적 수준의 1
자동으로 설정됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Strict
스크립트에서 참조되기 전에 변수에 값을 할당하도록 지정합니다. 값이 할당되기 전에 변수를 참조하는 경우 PowerShell은 예외 오류를 반환합니다. 이는 Set-StrictMode -Version 1
동일합니다. 자세한 내용은 Set-StrictMode참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Trace
스크립트의 각 줄에 대한 추적 수준을 지정합니다. 각 줄은 실행될 때 추적됩니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 0: 스크립트 추적을 해제합니다.
- 1: 스크립트 줄을 실행할 때 추적합니다.
- 2: 추적 스크립트 줄, 변수 할당, 함수 호출 및 스크립트.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
None
이 cmdlet은 출력을 반환하지 않습니다.