external help file | Locale | Module Name | ms.date | online version | schema | title |
---|---|---|---|---|---|---|
System.Management.Automation.dll-Help.xml |
en-US |
Microsoft.PowerShell.Core |
08/19/2021 |
2.0.0 |
Debug-Job |
Debugs a running background, remote, or Windows PowerShell Workflow job.
Debug-Job [-Job] <Job> [-WhatIf] [-Confirm] [<CommonParameters>]
Debug-Job [-Name] <String> [-WhatIf] [-Confirm] [<CommonParameters>]
Debug-Job [-Id] <Int32> [-WhatIf] [-Confirm] [<CommonParameters>]
Debug-Job [-InstanceId] <Guid> [-WhatIf] [-Confirm] [<CommonParameters>]
The Debug-Job
cmdlet lets you debug scripts that are running within jobs. The cmdlet is designed
to debug PowerShell Workflow jobs, background jobs, and jobs running in remote sessions. Debug-Job
accepts a running job object, name, ID, or instance ID as input, and starts a debugging session on
the script it is running. The debugger quit
command stops the job and running script. The exit
command detaches the debugger, and allows the job to continue to run.
This command breaks into a running job with an ID of 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"
Specifies the ID number of a running job. To get the ID number of a job, run the Get-Job
cmdlet.
Type: System.Int32
Parameter Sets: JobIdParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Specifies the instance ID GUID of a running job.
Type: System.Guid
Parameter Sets: JobInstanceIdParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Specifies a running job object. The simplest way to use this parameter is to save the results of a
Get-Job
command that returns the running job that you want to debug in a variable, and then
specify the variable as the value of this parameter.
Type: System.Management.Automation.Job
Parameter Sets: JobParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False
Specifies a job by the friendly name of the job. When you start a job, you can specify a job name by
adding the JobName parameter, in cmdlets such as Invoke-Command
and Start-Job
.
Type: System.String
Parameter Sets: JobNameParameterSet
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Prompts you for confirmation before running the cmdlet.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.