Skip to content

Latest commit

 

History

History
223 lines (162 loc) · 5.3 KB

File metadata and controls

223 lines (162 loc) · 5.3 KB
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

Debug-Job

SYNOPSIS

Debugs a running background, remote, or Windows PowerShell Workflow job.

SYNTAX

JobParameterSet (Default)

Debug-Job [-Job] <Job> [-WhatIf] [-Confirm] [<CommonParameters>]

JobNameParameterSet

Debug-Job [-Name] <String> [-WhatIf] [-Confirm] [<CommonParameters>]

JobIdParameterSet

Debug-Job [-Id] <Int32> [-WhatIf] [-Confirm] [<CommonParameters>]

JobInstanceIdParameterSet

Debug-Job [-InstanceId] <Guid> [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

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.

EXAMPLES

Example 1: Debug a job by job ID

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"

PARAMETERS

-Id

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

-InstanceId

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

-Job

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

-Name

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

-Confirm

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

-WhatIf

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

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.Management.Automation.RemotingJob

OUTPUTS

NOTES

RELATED LINKS

Get-Job

Receive-Job

Remove-Job

Resume-Job

Start-Job

Stop-Job

Suspend-Job

Wait-Job