Bagikan melalui


Debug-Process

Men-debug satu atau beberapa proses yang berjalan di komputer lokal.

Sintaks

Name (Default)

Debug-Process
    [-Name] <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Id

Debug-Process
    [-Id] <Int32[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Debug-Process
    -InputObject <Process[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Deskripsi

cmdlet Debug-Process melampirkan debugger ke satu atau beberapa proses yang berjalan di komputer lokal. Anda dapat menentukan proses dengan nama proses atau ID proses (PID), atau Anda dapat menyalurkan objek proses ke cmdlet ini.

Cmdlet ini melampirkan debugger yang terdaftar untuk proses. Sebelum menggunakan cmdlet ini, verifikasi bahwa debugger diinstal dan dikonfigurasi.

Contoh

Contoh 1: Melampirkan debugger ke proses di komputer

Debug-Process -Name powershell

Perintah ini melampirkan debugger ke proses PowerShell di komputer.

Contoh 2: Lampirkan debugger ke semua proses yang dimulai dengan string yang ditentukan

Debug-Process -Name note*

Perintah ini melampirkan debugger ke semua proses yang memiliki nama yang dimulai dengan note.

Contoh 3: Melampirkan debugger ke beberapa proses

Debug-Process "Winlogon", "Explorer", "Outlook"

Perintah ini mencoba melampirkan debugger ke proses Winlogon, Explorer, dan Outlook. Winlogon adalah proses yang dilindungi. Untuk men-debug Winlogon, Anda harus menjalankan perintah sebagai administrator.

Contoh 4: Melampirkan debugger ke beberapa ID proses

Debug-Process -Id 1132, 2028

Perintah ini melampirkan debugger ke proses yang memiliki ID proses 1132 dan 2028.

Contoh 5: Gunakan Get-Process untuk mendapatkan proses lalu melampirkan debugger ke dalamnya

Get-Process powershell | Debug-Process

Perintah ini melampirkan debugger ke proses PowerShell di komputer. Ini menggunakan cmdlet Get-Process untuk mendapatkan proses PowerShell di komputer, dan menggunakan operator alur (|) untuk mengirim proses ke cmdlet Debug-Process.

Untuk menentukan proses PowerShell tertentu, gunakan parameter IdGet-Process.

Contoh 6: Melampirkan debugger ke proses saat ini di komputer lokal

 Debug-Process -Id $PID

Perintah ini melampirkan debugger ke proses PowerShell saat ini di komputer.

Perintah menggunakan variabel otomatis $PID, yang berisi ID proses dari proses PowerShell saat ini. Kemudian, ia menggunakan operator alur (|) untuk mengirim ID proses ke cmdlet Debug-Process.

Untuk informasi selengkapnya tentang variabel otomatis $PID, lihat about_Automatic_Variables.

Contoh 7: Melampirkan debugger ke proses yang menggunakan parameter InputObject

$P = Get-Process powershell
Debug-Process -InputObject $P

Perintah ini melampirkan debugger ke proses PowerShell di komputer lokal.

Perintah pertama menggunakan cmdlet Get-Process untuk mendapatkan proses PowerShell di komputer. Ini menyimpan objek proses yang dihasilkan dalam variabel bernama $P.

Perintah kedua menggunakan parameter InputObject dari cmdlet Debug-Process untuk mengirimkan objek proses dalam variabel $P.

Parameter

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

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

Set 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 ID proses yang akan di-debug. Nama parameter Id bersifat opsional.

Untuk menemukan ID proses proses, ketik Get-Process.

Properti parameter

Jenis:

Int32[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PID, ProcessId

Set parameter

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

-InputObject

Menentukan objek proses yang mewakili proses yang akan di-debug. Masukkan variabel yang berisi objek proses atau perintah yang mendapatkan objek proses, seperti cmdlet Get-Process. Anda juga dapat menyalurkan objek proses ke cmdlet ini.

Properti parameter

Jenis:

Process[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

InputObject
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Name

Menentukan nama proses yang akan di-debug. Jika ada lebih dari satu proses dengan nama yang sama, cmdlet ini melampirkan debugger ke semua proses dengan nama tersebut. Parameter Nama bersifat opsional.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:ProcessName

Set parameter

Name
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
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

Set 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

Int32

Anda dapat menyalurkan ID proses ke cmdlet ini.

Process

Anda dapat menyalurkan objek proses ke cmdlet ini.

String

Anda dapat menyalurkan nama proses ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.

Catatan

Cmdlet ini menggunakan metode AttachDebugger dari kelas Win32_Process Windows Management Instrumentation (WMI). Untuk informasi selengkapnya tentang metode ini, lihat metode AttachDebugger di Microsoft Learn.