ProcDump v11.0
Oleh Mark Russinovich dan Andrew Richards
Diterbitkan: 11/03/2022
Unduh ProcDump (714 KB)
Unduh ProcDump untuk Linux (GitHub)
Dibuat dengan ZoomIt
Pendahuluan
ProcDump adalah utilitas baris perintah yang tujuan utamanya memantau aplikasi untuk lonjakan CPU dan menghasilkan crash dump selama lonjakan yang dapat digunakan administrator atau pengembang untuk menentukan penyebab lonjakan. ProcDump juga mencakup pemantauan jendela gantung (menggunakan definisi yang sama dari jendela macet yang digunakan Windows dan Task Manager), pemantauan pengecualian yang tidak tertangani dan dapat menghasilkan cadangan berdasarkan nilai penghitung kinerja sistem. Ini juga dapat berfungsi sebagai utilitas dump proses umum yang dapat Anda sematkan dalam skrip lain.
Menggunakan ProcDump
Penggunaan Pengambilan:
procdump.exe [-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
[-n <Count>]
[-s <Seconds>]
[-c|-cl <CPU_Usage> [-u]]
[-m|-ml <Commit_Usage>]
[-p|-pl <Counter> <Threshold>]
[-h]
[-e [1] [-g] [-b] [-ld] [-ud] [-ct] [-et]]
[-l]
[-t]
[-f <Include_Filter>, ...]
[-fx <Exclude_Filter>, ...]
[-dc <Comment>]
[-o]
[-r [1..5] [-a]]
[-at <Timeout>]
[-wer]
[-64]
{
{{[-w] <Process_Name> | <Service_Name> | <PID>} [<Dump_File> | <Dump_Folder>]}
|
{-x <Dump_Folder> <Image_File> [Argument, ...]}
}
Pemakaian Penginstalan:
procdump.exe -i [Dump_Folder]
[-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
[-r]
[-at <Timeout>]
[-k]
[-wer]
Hapus Instalan Penggunaan:
procdump.exe -u
Jenis Cadangan:
Jenis Cadangan | Deskripsi |
---|---|
-Mm | Tulis file cadangan 'Mini'. (default) - Termasuk memori yang dirujuk secara langsung dan tidak langsung (tumpukan dan apa yang mereka referensikan). - Mencakup semua metadata (Proses, Utas, Modul, Handel, Ruang Alamat, dll.). |
-Ma | Tulis file cadangan 'Penuh'. - Mencakup semua memori (Gambar, Dipetakan, dan Privat). - Mencakup semua metadata (Proses, Utas, Modul, Handel, Ruang Alamat, dll.). |
-Mt | Tulis file cadangan 'Triage'. - Termasuk memori yang dirujuk langsung (tumpukan). - Termasuk metadata terbatas (Proses, Utas, Modul, dan Handel). - Penghapusan informasi sensitif dicoba tetapi tidak dijamin. |
-Mp | Tulis file cadangan 'MiniPlus'. - Mencakup semua memori Privat dan semua Gambar Baca/Tulis atau Memori yang Dipetakan. - Mencakup semua metadata (Proses, Utas, Modul, Handel, Ruang Alamat, dll.). - Untuk meminimalkan ukuran, area memori Privat terbesar di atas 512MB dikecualikan. Area memori didefinisikan sebagai jumlah alokasi memori berukuran sama. Cadangan dirinci sebagai Cadangan penuh tetapi ukurannya 10%-75%. - Catatan: Proses CLR dicadangkan sebagai Penuh (-ma) karena keterbatasan debugging. |
-Mc | Tulis file cadangan 'Kustom'. - Termasuk memori dan metadata yang ditentukan oleh masker yang ditentukan MINIDUMP_TYPE (Hex). |
-Md | Tulis file cadangan 'Callback'. - Termasuk memori yang ditentukan oleh MiniDumpWriteDump rutinitas panggilan balik bernama MiniDumpCallbackRoutine DLL yang ditentukan.- Mencakup semua metadata (Proses, Utas, Modul, Handel, Ruang Alamat, dll.). |
-Mk | Tulis juga file cadangan 'Kernel'. - Termasuk tumpukan kernel utas dalam proses. - OS tidak mendukung cadangan kernel ( -mk ) saat menggunakan kloning (-r ).- Saat menggunakan beberapa ukuran cadangan, cadangan kernel diambil untuk setiap ukuran cadangan. |
Kondisi:
Kondisi | Deskripsi |
---|---|
-sebuah | Hindari pemadaman. Memerlukan -r . Jika pemicu akan menyebabkan target ditangguhkan untuk waktu yang lama karena batas cadangan bersamaan yang terlampaui, pemicu akan dilewati. |
-di | Hindari pemadaman pada Waktu Habis. Batalkan koleksi pemicu pada N detik. |
-b | Perlakukan titik henti debug sebagai pengecualian (jika tidak, abaikan). |
-c | Ambang CPU di atas untuk membuat cadangan proses. |
-Cl | Ambang CPU di bawah ini untuk membuat cadangan proses. |
-arus searah | Tambahkan string yang ditentukan ke Komentar Cadangan yang dihasilkan. |
-e | Tulis cadangan ketika proses mengalami pengecualian yang tidak tertangani. Sertakan 1 untuk membuat cadangan pada pengecualian kesempatan pertama.Tambahkan -ld untuk membuat cadangan saat DLL (modul) dimuat (pemfilteran berlaku).Tambahkan -ud untuk membuat cadangan saat DLL (modul) dibongkar (pemfilteran berlaku).Tambahkan -ct untuk membuat cadangan saat utas dibuat.Tambahkan -et untuk membuat cadangan saat utas keluar. |
-f | Filter (termasuk) pada konten pengecualian, pengelogan debug, dan nama file di BEBAN/bongkar DLL. Kartubebas (*) didukung. |
-Fx | Filter (kecualikan) pada konten pengecualian, pengelogan debug, dan nama file di DLL load/unload. Kartubebas (*) didukung. |
-g | Jalankan sebagai debugger asli dalam proses terkelola (tanpa interop). |
-jam | Tulis cadangan jika proses memiliki jendela gantung (tidak merespons pesan jendela setidaknya selama 5 detik). |
-k | Matikan proses setelah kloning (-r ), atau di akhir koleksi cadangan. |
-L | Tampilkan pengelogan debug proses. |
-m | Ambang penerapan memori dalam MB untuk membuat cadangan. |
-Ml | Pemicu saat penerapan memori turun di bawah nilai MB yang ditentukan. |
-n | Jumlah cadangan yang akan ditulis sebelum keluar. |
-o | Timpa file cadangan yang ada. |
-p | Pemicu saat Penghitung Kinerja berada di, atau melebihi, Ambang yang ditentukan. Beberapa Penghitung dan/atau Nama Instans dapat peka huruf besar/kecil. |
-Pl | Pemicu saat Penghitung Kinerja berada di bawah Ambang yang ditentukan. |
-r | Buang menggunakan kloning. Batas bersamaan bersifat opsional (default 1, maks 5). OS tidak mendukung cadangan kernel (-mk ) saat menggunakan kloning (-r ). PERHATIAN: Nilai konkurensi tinggi dapat memengaruhi performa sistem.- Windows 7: Menggunakan Pantulan. OS tidak mendukung -e .- Windows 8.0: Menggunakan Pantulan. OS tidak mendukung -e .- Windows 8.1+: Menggunakan PSS. Semua jenis pemicu didukung. |
-s | Detik berturut-turut sebelum cadangan ditulis (defaultnya adalah 10). |
-t | Tulis cadangan saat proses berakhir. |
-u | Perlakukan penggunaan CPU relatif terhadap satu inti (digunakan dengan -c ). |
-v | HANYA DEBUG: Output Verbose. |
-w | Tunggu hingga proses yang ditentukan diluncurkan jika tidak berjalan. |
-Wer | Antrekan cadangan (terbesar) ke Pelaporan Galat Windows. |
-x | Luncurkan gambar yang ditentukan dengan argumen opsional. Jika ini adalah Aplikasi Atau Paket Toko, ProcDump akan dimulai pada aktivasi berikutnya (hanya). |
-y | TERSEMBUNYI: Simpan aktivasi Aplikasi. |
-64 | Secara default ProcDump akan mengambil cadangan 32-bit dari proses 32-bit saat berjalan pada Windows 64-bit. Opsi ini mengambil alih untuk membuat cadangan 64-bit. Hanya gunakan untuk penelusuran kesalahan subsistem WOW64. |
Perjanjian Lisensi:
-accepteula
Gunakan opsi baris perintah untuk menerima perjanjian lisensi Sysinternals secara otomatis.
Penghentian Otomatis:
-cancel <Target Process PID>
Menggunakan opsi ini atau mengatur peristiwa dengan nama ProcDump-<PID>
sama dengan mengetik Ctrl+C untuk mengakhiri ProcDump dengan anggun. Penghentian yang anggun memastikan proses dilanjutkan jika tangkapan aktif. Pembatalan berlaku untuk SEMUA instans ProcDump yang memantau proses.
Filename:
Nama file cadangan default: PROCESSNAME_YYMMDD_HHMMSS.dmp
Substitusi berikut didukung:
Substitusi | Penjelasan |
---|---|
NAMA PROSES | Nama Proses |
PID | ID Proses |
EXCEPTIONCODE | Kode Pengecualian |
YYMMDD | Tahun/Bulan/Hari |
HHMMSS | Jam/Menit/Detik |
Contoh
Tulis cadangan mini proses bernama 'notepad' (hanya satu kecocokan yang dapat ada):
C:\>procdump notepad
Tulis Cadangan penuh proses dengan PID '4572':
C:\>procdump -ma 4572
Tulis Mini terlebih dahulu, lalu Buang penuh proses dengan PID '4572':
C:\>procdump -mm -ma 4572
Tulis 3 Mini dump 5 detik terpisah dari proses bernama 'notepad':
C:\>procdump -n 3 -s 5 notepad
Tulis hingga 3 cadangan Mini dari proses bernama 'konsumsi' ketika melebihi 20% penggunaan CPU selama lima detik:
C:\>procdump -n 3 -s 5 -c 20 consume
Tulis cadangan Mini untuk proses bernama 'hang.exe' ketika salah satu jendelanya tidak responsif selama lebih dari 5 detik:
C:\>procdump -h hang.exe
Tulis cadangan Penuh dan Kernel untuk proses bernama 'hang.exe' ketika salah satu jendelanya tidak responsif selama lebih dari 5 detik:
C:\>procdump -ma -mk -h hang.exe
Tulis cadangan Mini dari proses bernama 'outlook' ketika total penggunaan CPU sistem melebihi 20% selama 10 detik:
C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20
Tulis Cadangan penuh proses bernama 'outlook' saat jumlah handel Outlook melebihi 10.000:
C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
Tulis Cadangan penuh 'svchost' PID 1234, Instans #87, ketika jumlah handel melebihi 10.000:
C:\>procdump -ma 1234 -p "\Process(svchost#87)\Handle Count" 10000
Catatan: Beberapa Penghitung Instans
Jika ada beberapa instans penghitung, Anda harus menyertakan nama dan/atau nomor Instans.\Processor(NNN)\% Processor Time \Thermal Zone Information(<name>)\Temperature \Process(<name>[#NNN])\<counter>
OS lama mengharuskan Anda menambahkan PID untuk
\Process
penghitung.\Process(<name>[_PID])\<counter>
Tips: Gunakan Monitor Performa untuk melihat penghitung (sensitivitas huruf besar/kecil).
Tips: Untuk\Process(*)
penghitung berbasis, gunakan PowerShell untuk memetakan PID ke#NNN
.Get-Counter -Counter "\Process(*)\ID Process"
Tulis Cadangan penuh untuk pengecualian kesempatan ke-2:
C:\>procdump -ma -e w3wp.exe
Tulis Cadangan penuh untuk pengecualian kesempatan ke-1 atau ke-2:
C:\>procdump -ma -e 1 w3wp.exe
Tulis Cadangan penuh untuk pesan string debug:
C:\>procdump -ma -l w3wp.exe
Tulis hingga 10 Cadangan penuh dari setiap pengecualian kesempatan ke-1 atau ke-2 dari w3wp.exe:
C:\>procdump -ma -n 10 -e 1 w3wp.exe
Tulis hingga 10 Cadangan penuh jika kode/nama/msg pengecualian berisi '
NotFound
':C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exe
Tulis hingga 10 Cadangan penuh jika pesan string debug berisi '
NotFound
':C:\>procdump -ma -n 10 -l -f NotFound w3wp.exe
Tunggu proses yang disebut 'notepad' (dan pantau pengecualian):
C:\>procdump -e -w notepad
Luncurkan proses yang disebut 'notepad' (dan pantau untuk pengecualian):
C:\>procdump -e -x c:\dumps notepad
Daftar untuk peluncuran, dan coba aktifkan, toko 'aplikasi'. Instans ProcDump baru akan dimulai saat diaktifkan:
C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMaps
Daftar untuk peluncuran 'paket' toko. Instans ProcDump baru akan dimulai ketika (secara manual) diaktifkan:
C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
Tulis cadangan MiniPlus Penyimpanan Informasi Microsoft Exchange saat memiliki pengecualian yang tidak tertangani:
C:\>procdump -mp -e store.exe
Tampilkan tanpa menulis cadangan, kode pengecualian/nama w3wp.exe:
C:\>procdump -e 1 -f "" w3wp.exe
Windows 7/8.0; Gunakan Pantulan untuk mengurangi pemadaman untuk 5 pemicu berturut-turut:
C:\>procdump -r -ma -n 5 -s 15 wmplayer.exe
Windows 8.1+; Gunakan PSS untuk mengurangi pemadaman untuk 5 pemicu bersamaan:
C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exe
Instal ProcDump sebagai debugger postmortem (AeDebug):
C:\>procdump -ma -i c:\dumps
.. atau..
C:\Dumps>procdump -ma -i
Hapus instalan ProcDump sebagai debugger postmortem (AeDebug):
C:\>procdump -u
Lihat daftar contoh baris perintah (contoh tercantum di atas):
C:\>procdump -? -e
Link Terkait
- Windows Internals Book Halaman pembaruan dan errata resmi untuk buku definitif di internal Windows, oleh Mark Russinovich dan David Solomon.
- Referensi Administrator Windows Sysinternals Panduan resmi untuk utilitas Sysinternals oleh Mark Russinovich dan Aaron Margosis, termasuk deskripsi semua alat, fitur mereka, cara menggunakannya untuk pemecahan masalah, dan contoh kasus penggunaannya di dunia nyata.
Unduh ProcDump (714 KB)
Unduh ProcDump untuk Linux (GitHub)
Berjalan pada:
- Klien: Windows 8.1 dan yang lebih tinggi.
- Server: Windows Server 2012 dan yang lebih tinggi.
Pelajari Selengkapnya
- Alat Defrag: #9 - ProcDump Episode Alat Defrag ini mencakup apa yang diambil alat dan durasi pemadaman yang diharapkan
- Alat Defrag: #10 - ProcDump - Pemicu Episode ini mencakup opsi pemicu khususnya pengecualian peluang ke-1 & 2
- Alat Defrag: #11 - ProcDump - Windows 8 & Process Monitor Episode ini mencakup dukungan aplikasi modern dan dukungan pengelogan Monitor Proses