Debug-Job

Debuguje uruchomione zadanie w tle lub zdalne.

Składnia

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>]

Opis

Polecenie Debug-Job cmdlet umożliwia debugowanie skryptów uruchomionych w ramach zadań. Polecenie cmdlet jest przeznaczone do debugowania zadań przepływu pracy programu PowerShell, zadań w tle i zadań uruchomionych w sesjach zdalnych. Debug-Job Akceptuje uruchomiony obiekt zadania, nazwę, identyfikator lub identyfikator wystąpienia jako dane wejściowe i uruchamia sesję debugowania na uruchomionym skrycie. Polecenie debugera quit zatrzymuje zadanie i uruchamia skrypt. Polecenie exit odłącza debuger i umożliwia kontynuowanie działania zadania.

Przykłady

Przykład 1. Debugowanie zadania według identyfikatora zadania

To polecenie dzieli uruchomione zadanie z identyfikatorem 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"

Parametry

-BreakAll

Umożliwia natychmiastowe przerwanie w bieżącej lokalizacji, gdy debuger dołącza.

Ten parametr został dodany w programie PowerShell 7.2.

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

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

-Id

Określa identyfikator uruchomionego zadania. Aby uzyskać identyfikator zadania, uruchom Get-Job polecenie cmdlet .

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

-InstanceId

Określa identyfikator GUID wystąpienia uruchomionego zadania.

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

-Job

Określa uruchomiony obiekt zadania. Najprostszym sposobem użycia tego parametru jest zapisanie wyników Get-Job polecenia zwracającego uruchomione zadanie, które chcesz debugować w zmiennej, a następnie określenie zmiennej jako wartości tego parametru.

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

-Name

Określa zadanie według przyjaznej nazwy zadania. Po uruchomieniu zadania można określić nazwę zadania, dodając parametr JobName w poleceniach cmdlet, takich jak Invoke-Command i Start-Job.

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

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

Dane wejściowe

System.Management.Automation.RemotingJob