Debug-Job

Felsöker en bakgrund eller ett fjärrjobb som körs.

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

Med Debug-Job cmdleten kan du felsöka skript som körs i jobb. Cmdleten är utformad för att felsöka PowerShell-arbetsflödesjobb, bakgrundsjobb och jobb som körs i fjärrsessioner. Debug-Job accepterar ett jobbobjekt, namn, ID eller instans-ID som indata och startar en felsökningssession i skriptet som körs. Felsökningskommandot quit stoppar jobbet och skriptet som körs. Kommandot exit kopplar från felsökningsprogrammet och gör att jobbet kan fortsätta att köras.

Exempel

Exempel 1: Felsöka ett jobb efter jobb-ID

Det här kommandot bryter sig in i ett jobb som körs med ett ID på 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"

Parametrar

-BreakAll

Gör att du kan bryta direkt på den aktuella platsen när felsökningsprogrammet kopplas.

Den här parametern lades till i PowerShell 7.2.

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Id

Anger ID-numret för ett jobb som körs. Kör cmdleten för att hämta ID-numret för Get-Job ett jobb.

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

-InstanceId

Anger instans-ID GUID för ett jobb som körs.

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

-Job

Anger ett jobbobjekt som körs. Det enklaste sättet att använda den här parametern är att spara resultatet av ett Get-Job kommando som returnerar det jobb som körs som du vill felsöka i en variabel och sedan ange variabeln som värdet för den här parametern.

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

-Name

Anger ett jobb med det egna namnet på jobbet. När du startar ett jobb kan du ange ett jobbnamn genom att lägga till parametern JobName i cmdletar som Invoke-Command och Start-Job.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

Indata

System.Management.Automation.RemotingJob