O cmdlet Debug-Job permite depurar scripts que estão em execução em trabalhos.
O cmdlet foi projetado para depurar trabalhos de fluxo de trabalho do Windows 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 depurador encerrado comando interrompe o trabalho e executa o script.
A partir do Windows PowerShell 5.0, o comando sair desanexa o depurador e permite que o trabalho continue a ser executado.
Exemplos
Exemplo 1: Depurar um trabalho por ID do trabalho
PS C:\> 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"
Esse comando divide um trabalho em execução com uma ID de 3.
Parâmetros
-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.
Para obter o InstanceId de um trabalho, execute o cmdlet Get-Job, canalizando os resultados para um cmdlet Format-* , conforme mostrado no exemplo a seguir:
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.