Debug-Job
Esegue il debug di un processo in background o remoto in esecuzione.
Sintassi
Debug-Job
[-Job] <Job>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Debug-Job
cmdlet consente di eseguire il debug di script in esecuzione all'interno dei processi. Il cmdlet è progettato per eseguire il debug di processi del flusso di lavoro PowerShell, processi in background e processi in esecuzione in sessioni remote. Debug-Job
accetta un oggetto processo in esecuzione, un nome, un ID o un ID istanza come input e avvia una sessione di debug nello script in cui è in esecuzione. Il comando debugger quit
arresta il processo ed esegue lo script. Il exit
comando scollega il debugger e consente al processo di continuare l'esecuzione.
Esempio
Esempio 1: Eseguire il debug di un processo in base all'ID processo
Questo comando si suddivide in un processo in esecuzione con 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"
Parametri
-BreakAll
Consente di interrompere immediatamente la posizione corrente quando il debugger è collegato.
Questo parametro è stato aggiunto in PowerShell 7.2.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Id
Specifica il numero ID di un processo in esecuzione. Per ottenere il numero ID di un processo, eseguire il Get-Job
cmdlet .
Tipo: | Int32 |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InstanceId
Specifica il GUID ID istanza di un processo in esecuzione.
Tipo: | Guid |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Job
Specifica un oggetto processo in esecuzione. Il modo più semplice per usare questo parametro consiste nel salvare i risultati di un Get-Job
comando che restituisce il processo in esecuzione di cui si vuole eseguire il debug in una variabile e quindi specificare la variabile come valore di questo parametro.
Tipo: | Job |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica un processo in base al nome descrittivo del processo. Quando si avvia un processo, è possibile specificare un nome di processo aggiungendo il parametro JobName , nei cmdlet come Invoke-Command
e Start-Job
.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
System.Management.Automation.RemotingJob