Debug-Job cmdlet을 사용하면 작업 내에서 실행되는 스크립트를 디버그할 수 있습니다.
이 cmdlet은 원격 세션에서 실행되는 Windows PowerShell 워크플로 작업, 백그라운드 작업 및 작업을 디버그하도록 설계되었습니다.
Debug-Job 실행 중인 작업 개체, 이름, ID 또는 인스턴스 ID를 입력으로 허용하고 실행 중인 스크립트에서 디버깅 세션을 시작합니다.
디버거 종료 명령은 작업을 중지하고 스크립트를 실행합니다.
Windows PowerShell 5.0부터 종료 명령은 디버거를 분리하고 작업을 계속 실행할 수 있도록 합니다.
예제
예제 1: 작업 ID별로 작업 디버그
PS C:\> Debug-Job -ID 3
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 RemoteJob Running True PowerShellIx TestWFDemo1.ps1
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'
At C:\TestWFDemo1.ps1:8 char:5
+ Write-Output -InputObject "Now writing output:"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DBG:PowerShellIx]: PS C:\> > list
3:
4: workflow SampleWorkflowTest
5: {
6: param ($MyOutput)
7:
8:* Write-Output -InputObject "Now writing output:"
9: Write-Output -Input $MyOutput
10:
11: Write-Output -InputObject "Get PowerShell process:"
12: Get-Process -Name powershell
13:
14: Write-Output -InputObject "Workflow function complete."
15: }
16:
17: # Call workflow function
18: SampleWorkflowTest -MyOutput "Hello"
이 명령은 ID가 3인 실행 중인 작업으로 나뉩니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
매개 변수 속성
형식:
SwitchParameter
Default value:
False
와일드카드 지원:
False
DontShow:
False
별칭:
cf(cf)
매개 변수 집합
(All)
Position:
Named
필수:
False
파이프라인의 값:
False
속성 이름별 파이프라인의 값:
False
나머지 인수의 값:
False
-Id
실행 중인 작업의 ID 번호를 지정합니다.
작업의 ID 번호를 가져오려면 Get-Job cmdlet을 실행합니다.
매개 변수 속성
형식:
Int32
Default value:
None
와일드카드 지원:
False
DontShow:
False
매개 변수 집합
JobIdParameterSet
Position:
0
필수:
True
파이프라인의 값:
False
속성 이름별 파이프라인의 값:
False
나머지 인수의 값:
False
-InstanceId
실행 중인 작업의 인스턴스 ID GUID를 지정합니다.
작업의 InstanceId 얻으려면 다음 예제와 같이 Get-Job cmdlet을 실행하여 결과를 Format-* cmdlet으로 파이핑합니다.
실행 중인 작업 개체를 지정합니다.
이 매개 변수를 사용하는 가장 간단한 방법은 변수에서 디버그하려는 실행 중인 작업을 반환하는 Get-Job 명령의 결과를 저장한 다음 변수를 이 매개 변수의 값으로 지정하는 것입니다.
매개 변수 속성
형식:
Job
Default value:
None
와일드카드 지원:
False
DontShow:
False
매개 변수 집합
JobParameterSet
Position:
0
필수:
True
파이프라인의 값:
True
속성 이름별 파이프라인의 값:
True
나머지 인수의 값:
False
-Name
작업의 이름을 사용하여 작업을 지정합니다.
작업을 시작할 때 Invoke-Command 및 Start-Job과 같은 cmdlet에서 JobName 매개 변수를 추가하여 작업 이름을 지정할 수 있습니다.
매개 변수 속성
형식:
String
Default value:
None
와일드카드 지원:
False
DontShow:
False
매개 변수 집합
JobNameParameterSet
Position:
0
필수:
True
파이프라인의 값:
False
속성 이름별 파이프라인의 값:
False
나머지 인수의 값:
False
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요.
cmdlet이 실행되지 않습니다.
매개 변수 속성
형식:
SwitchParameter
Default value:
False
와일드카드 지원:
False
DontShow:
False
별칭:
위스콘신
매개 변수 집합
(All)
Position:
Named
필수:
False
파이프라인의 값:
False
속성 이름별 파이프라인의 값:
False
나머지 인수의 값:
False
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.