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 cmdlet Debug-Job
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 skryptu, który jest uruchomiony. Debuger quit
polecenie 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.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Id
Określa identyfikator uruchomionego zadania. Aby uzyskać identyfikator zadania, uruchom polecenie cmdlet Get-Job
.
Typ: | Int32 |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InstanceId
Określa identyfikator GUID wystąpienia uruchomionego zadania.
Typ: | Guid |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Job
Określa uruchomiony obiekt zadania. Najprostszym sposobem użycia tego parametru jest zapisanie wyników polecenia Get-Job
, które zwraca uruchomione zadanie do debugowania w zmiennej, a następnie określ zmienną jako wartość tego parametru.
Typ: | Job |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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
.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
System.Management.Automation.RemotingJob