Debug-Job
실행 중인 백그라운드 또는 원격 작업을 디버그합니다.
구문
Debug-Job
[-Job] <Job>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
cmdlet을 Debug-Job
사용하면 작업 내에서 실행되는 스크립트를 디버그할 수 있습니다. 이 cmdlet은 원격 세션에서 실행되는 PowerShell 워크플로 작업, 백그라운드 작업 및 작업을 디버그하도록 설계되었습니다. Debug-Job
는 실행 중인 작업 개체, 이름, ID 또는 인스턴스 ID를 입력으로 허용하고 실행 중인 스크립트에서 디버깅 세션을 시작합니다. 디버거 quit
명령은 작업 및 실행 스크립트를 중지합니다. 이 exit
명령은 디버거를 분리하고 작업을 계속 실행할 수 있도록 합니다.
예제
예제 1: 작업 ID별로 작업 디버그
이 명령은 ID가 3인 실행 중인 작업으로 나뉩니다.
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"
매개 변수
-BreakAll
디버거가 연결될 때 현재 위치에서 즉시 중단될 수 있습니다.
이 매개 변수는 PowerShell 7.2에 추가되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Id
실행 중인 작업의 ID 번호를 지정합니다. 작업의 ID 번호를 가져오려면 cmdlet을 Get-Job
실행합니다.
형식: | Int32 |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InstanceId
실행 중인 작업의 인스턴스 ID GUID를 지정합니다.
형식: | Guid |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Job
실행 중인 작업 개체를 지정합니다. 이 매개 변수를 사용하는 가장 간단한 방법은 변수에서 디버그하려는 실행 중인 작업을 반환하는 명령의 Get-Job
결과를 저장한 다음 변수를 이 매개 변수의 값으로 지정하는 것입니다.
형식: | Job |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
작업의 이름을 사용하여 작업을 지정합니다. 작업을 시작할 때 JobName 매개 변수를 cmdlet과 같은 Start-Job
Invoke-Command
cmdlet에 추가하여 작업 이름을 지정할 수 있습니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
System.Management.Automation.RemotingJob
관련 링크
PowerShell