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
接受執行中的作業物件、名稱、標識碼或實例識別碼做為輸入,並在正在執行的腳本上啟動偵錯會話。 調試程式 quit
命令會停止作業並執行腳本。 命令 exit
會中斷調試程式中斷連結,並允許作業繼續執行。
範例
範例 1:依作業標識符對作業進行偵錯
此命令會分成標識碼為 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 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Id
指定執行中作業的識別碼。 若要取得作業的標識碼,請執行 Get-Job
Cmdlet。
類型: | Int32 |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-InstanceId
指定執行中作業的實例識別碼 GUID。
類型: | Guid |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Job
指定執行中的作業物件。 使用此參數最簡單的方式是儲存命令的結果 Get-Job
,該命令會傳回您要在變數中偵錯的執行中作業,然後將變數指定為此參數的值。
類型: | Job |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
以作業的易記名稱指定作業。 當您啟動作業時,您可以在和 Start-Job
等 Invoke-Command
Cmdlet 中新增 JobName 參數來指定作業名稱。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
System.Management.Automation.RemotingJob