Debug-Job
語法
JobParameterSet (預設值)
Debug-Job
[-Job] <Job>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobNameParameterSet
Debug-Job
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobIdParameterSet
Debug-Job
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobInstanceIdParameterSet
Debug-Job
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
這個 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
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Id
指定執行中的作業的 ID 編號。 要取得作業的 ID 編號,執行 Get-Job cmdlet。
參數屬性
| 類型: | Int32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobIdParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-InstanceId
指定執行中的作業的實例 ID GUID。
參數屬性
| 類型: | Guid
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobInstanceIdParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Job
指定一個正在執行的工作物件。 使用這個參數最簡單的方法是將一個指令的結果 Get-Job 儲存在一個變數中,然後指定該變數作為該參數的值。
參數屬性
| 類型: | Job
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Name
以工作名稱指定工作。 當你開始工作時,可以透過在 cmdlet Invoke-CommandStart-Job和 中加入 JobName 參數來指定工作名稱。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
JobNameParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
System.Management.Automation.RemotingJob