Compartilhar via


Debug-Job

Depura um trabalho em segundo plano ou remoto em execução.

Sintaxe

JobParameterSet (Default)

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

O cmdlet Debug-Job permite depurar scripts que estão em execução em trabalhos. O cmdlet foi projetado para depurar trabalhos do Fluxo de Trabalho do PowerShell, trabalhos em segundo plano e trabalhos em execução em sessões remotas. Debug-Job aceita um objeto de trabalho em execução, nome, ID ou ID da instância como entrada e inicia uma sessão de depuração no script em que está em execução. O comando quit depurador interrompe o trabalho e executa o script. O comando exit desanexa o depurador e permite que o trabalho continue a ser executado.

Exemplos

Exemplo 1: Depurar um trabalho por ID do trabalho

Esse comando divide um trabalho em execução com uma ID de 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"

Parâmetros

-BreakAll

Permite que você interrompa imediatamente no local atual quando o depurador é anexado.

Esse parâmetro foi adicionado ao PowerShell 7.2.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Id

Especifica o número de ID de um trabalho em execução. Para obter o número de ID de um trabalho, execute o cmdlet Get-Job.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

JobIdParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InstanceId

Especifica o GUID de ID da instância de um trabalho em execução.

Propriedades do parâmetro

Tipo:Guid
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

JobInstanceIdParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Job

Especifica um objeto de trabalho em execução. A maneira mais simples de usar esse parâmetro é salvar os resultados de um comando Get-Job que retorna o trabalho em execução que você deseja depurar em uma variável e especificar a variável como o valor desse parâmetro.

Propriedades do parâmetro

Tipo:Job
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

JobParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Name

Especifica um trabalho pelo nome amigável do trabalho. Ao iniciar um trabalho, você pode especificar um nome de trabalho adicionando o parâmetro JobName, em cmdlets como Invoke-Command e Start-Job.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

JobNameParameterSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

System.Management.Automation.RemotingJob