Debug-Job

Depura un trabajo remoto o en segundo plano en ejecución.

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

El Debug-Job cmdlet permite depurar scripts que se ejecutan en trabajos. El cmdlet está diseñado para depurar trabajos de flujo de trabajo de PowerShell, trabajos en segundo plano y trabajos que se ejecutan en sesiones remotas. Debug-Job acepta un objeto de trabajo en ejecución, un nombre, un identificador o un identificador de instancia como entrada e inicia una sesión de depuración en el script que se está ejecutando. El comando del depurador quit detiene el trabajo y ejecuta el script. El exit comando desasocia el depurador y permite que el trabajo continúe ejecutándose.

Ejemplos

Ejemplo 1: Depuración de un trabajo por identificador de trabajo

Este comando se divide en un trabajo en ejecución con un identificador 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 interrumpir inmediatamente en la ubicación actual cuando el depurador se asocia.

El parámetro solo está disponible como una característica experimental. Para obtener más información, consulte Uso de características experimentales.

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

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-Id

Especifica el número de identificador de un trabajo en ejecución. Para obtener el número de identificador de un trabajo, ejecute el Get-Job cmdlet .

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

-InstanceId

Especifica el GUID del identificador de instancia de un trabajo en ejecución.

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

-Job

Especifica un objeto de trabajo en ejecución. La manera más sencilla de usar este parámetro es guardar los resultados de un Get-Job comando que devuelve el trabajo en ejecución que desea depurar en una variable y, a continuación, especificar la variable como el valor de este parámetro.

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

-Name

Especifica un trabajo por el nombre descriptivo del trabajo. Al iniciar un trabajo, puede especificar un nombre de trabajo agregando el parámetro JobName , en cmdlets como Invoke-Command y Start-Job.

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

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Entradas

System.Management.Automation.RemotingJob