Share via


Debug-Job

Débogue un travail en arrière-plan ou distant en cours d’exécution.

Syntax

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 Debug-Job de commande 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 s’exécutant dans des sessions distantes. Debug-Jobaccepte un objet, un nom, un ID ou un ID de instance en cours d’exécution en tant qu’entrée et démarre une session de débogage sur le script qu’il exécute. La commande débogueur quit arrête le travail et l’exécution du script. La exit commande 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 se décompose en un travail en cours d’exécution avec l’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"

Paramètres

-BreakAll

Vous permet de vous interrompre immédiatement à l’emplacement actuel lorsque le débogueur est attaché.

Le paramètre est disponible uniquement en tant que fonctionnalité expérimentale. Pour plus d’informations, consultez Utilisation de fonctionnalités expérimentales.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Get-Job commande.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

Spécifie le GUID d’ID de instance d’un travail en cours d’exécution.

Type:Guid
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Job

Spécifie un objet de travail en cours d’exécution. Le moyen le plus simple d’utiliser ce paramètre consiste à enregistrer les résultats d’une Get-Job commande 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
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

System.Management.Automation.RemotingJob