Bagikan melalui


Debug-Job

Men-debug latar belakang yang sedang berjalan atau pekerjaan jarak jauh.

Sintaks

JobParameterSet (Default)

Debug-Job
    [-Job] <Job>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobNameParameterSet

Debug-Job
    [-Name] <String>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobIdParameterSet

Debug-Job
    [-Id] <Int32>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobInstanceIdParameterSet

Debug-Job
    [-InstanceId] <Guid>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Deskripsi

cmdlet Debug-Job memungkinkan Anda men-debug skrip yang berjalan dalam pekerjaan. Cmdlet dirancang untuk men-debug pekerjaan Alur Kerja PowerShell, pekerjaan latar belakang, dan pekerjaan yang berjalan dalam sesi jarak jauh. Debug-Job menerima objek pekerjaan yang sedang berjalan, nama, ID, atau ID instans sebagai input, dan memulai sesi penelusuran kesalahan pada skrip yang dijalankannya. Perintah debugger quit menghentikan pekerjaan dan menjalankan skrip. Perintah exit mencopot debugger, dan memungkinkan pekerjaan untuk terus berjalan.

Contoh

Contoh 1: Men-debug pekerjaan berdasarkan ID pekerjaan

Perintah ini mengakses pekerjaan yang sedang berjalan dengan ID 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"

Parameter

-BreakAll

Memungkinkan Anda untuk berhenti seketika di lokasi saat ini ketika debugger terpasang.

Parameter ini ditambahkan di PowerShell 7.2.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Id

Menentukan nomor ID untuk pekerjaan yang sedang berlangsung. Untuk mendapatkan nomor ID pekerjaan, jalankan cmdlet Get-Job.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

JobIdParameterSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InstanceId

Menentukan GUID ID instance dari tugas yang sedang berjalan.

Properti parameter

Jenis:Guid
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

JobInstanceIdParameterSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Job

Menentukan sebuah objek tugas yang sedang berjalan. Cara paling sederhana untuk menggunakan parameter ini adalah dengan menyimpan hasil perintah Get-Job yang mengembalikan pekerjaan yang sedang berjalan yang ingin Anda debug dalam variabel, lalu menentukan variabel sebagai nilai parameter ini.

Properti parameter

Jenis:Job
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

JobParameterSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Name

Menentukan pekerjaan dengan nama pekerjaan yang mudah diingat. Saat memulai pekerjaan, Anda dapat menentukan nama pekerjaan dengan menambahkan parameter JobName, dalam cmdlet seperti dan .

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

JobNameParameterSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

System.Management.Automation.RemotingJob