Bagikan melalui


ProcDump v11.0

Oleh Mark Russinovich dan Andrew Richards

Diterbitkan: 11/03/2022

UnduhUnduh 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
  • 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.

UnduhUnduh 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