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 på skriptet som körs. quit Felsökningskommandot stoppar jobbet och skriptet som körs. Kommandot exit kopplar från felsökaren 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.

Type:SwitchParameter
Position:Named
Default value:None
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
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
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
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
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
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
Accept pipeline input:False
Accept wildcard characters:False

Indata

System.Management.Automation.RemotingJob