Debug-Job
Débogue un travail en arrière-plan ou distant en cours d’exécution.
Syntaxe
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>]
Description
L’applet de commande Debug-Job
vous permet de déboguer des scripts qui s’exécutent dans des travaux. L’applet de commande est conçue pour déboguer des travaux de flux de travail PowerShell, des travaux en arrière-plan et des travaux exécutés dans des sessions à distance.
Debug-Job
accepte un objet de travail en cours d’exécution, un nom, un ID ou un ID d’instance comme entrée et démarre une session de débogage sur le script qu’il exécute. Le débogueur quit
commande arrête le travail et exécute le script. La commande exit
détache le débogueur et permet au travail de continuer à s’exécuter.
Exemples
Exemple 1 : Déboguer un travail par ID de travail
Cette commande s’interrompt dans un travail en cours d’exécution avec un 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"
Paramètres
-BreakAll
Vous permet de vous interrompre immédiatement à l’emplacement actuel lorsque le débogueur s’attache.
Ce paramètre a été ajouté dans PowerShell 7.2.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Id
Spécifie le numéro d’ID d’un travail en cours d’exécution. Pour obtenir le numéro d’ID d’un travail, exécutez l’applet de commande Get-Job
.
Type: | Int32 |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InstanceId
Spécifie le GUID d’ID d’instance d’un travail en cours d’exécution.
Type: | Guid |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Job
Spécifie un objet de travail en cours d’exécution. La façon la plus simple d’utiliser ce paramètre consiste à enregistrer les résultats d’une commande Get-Job
qui retourne le travail en cours d’exécution que vous souhaitez déboguer dans une variable, puis spécifier la variable comme valeur de ce paramètre.
Type: | Job |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Name
Spécifie un travail par le nom convivial du travail. Lorsque vous démarrez un travail, vous pouvez spécifier un nom de travail en ajoutant le paramètre JobName, dans des applets de commande telles que Invoke-Command
et Start-Job
.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
System.Management.Automation.RemotingJob