ProcDump v12.0

Mark Russinovich a Andrew Richards

Publikováno: 7. května 2026

Stáhnout ProcDump(1,2 MB)

Stáhnout ProcDump pro Linux (GitHub)
Stáhnout ProcDump pro Mac (GitHub)

Vytvořeno pomocí ZoomIt

Úvod

ProcDump je nástroj příkazového řádku, jehož primárním účelem je monitorování aplikace pro špičky procesoru a generování výpisů stavu systému během špičky, kterou může správce nebo vývojář použít k určení příčiny špičky. Nástroj ProcDump také zahrnuje monitorování zablokování oken (pomocí stejné definice zablokování okna, kterou používají Windows a Správce úloh), monitorování neošetřených výjimek a může generovat výpisy na základě hodnot systémových čítačů výkonu. Může také sloužit jako obecný nástroj pro výpis stavu procesu, který můžete vložit do jiných skriptů.

Použití nástroje ProcDump

Využití zachytávání:

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, ...]}
            }

Použití po instalaci:

procdump.exe -i [Dump_Folder]
            [-mm] [-ma] [-mt] [-mp] [-mc <Mask>] [-md <Callback_DLL>] [-mk]
            [-r]
            [-at <Timeout>]
            [-k]
            [-wer]

Použití pro odinstalaci:

procdump.exe -u

Typy výpisů:

Typ výpisu paměti Popis
-milimetr Zapište soubor s výpisem paměti Mini. (výchozí)
- Zahrnuje přímo a nepřímo odkazovanou paměť (zásobníky a to, na co odkazují).
– Zahrnuje všechna metadata (proces, vlákno, modul, popisovač, adresní prostor atd.).
-mA Zapište soubor s úplným výpisem.
– Zahrnuje veškerou paměť (obrazová, mapovaná a soukromá).
– Zahrnuje všechna metadata (proces, vlákno, modul, popisovač, adresní prostor atd.).
-mt Zapište soubor výpisu Triage.
– Zahrnuje přímo odkazovanou paměť (zásobníkové paměti).
– Zahrnuje omezená metadata (proces, vlákno, modul a popisovač).
- Odebrání citlivých informací je pokoušeno, ale není zaručeno.
-mp Napište soubor s výpisem paměti MiniPlus.
– Zahrnuje veškerou privátní paměť a veškerou paměť pro čtení/zápis obrazu nebo mapovanou paměť.
– Zahrnuje všechna metadata (proces, vlákno, modul, objekt, adresní prostor atd.).
– Pro minimalizaci velikosti je vyloučena největší oblast privátní paměti nad 512 MB.
  Oblast paměti je definována jako součet přidělení paměti stejné velikosti.
  Výpis paměti je tak podrobný jako úplný výpis paměti, ale velikost je 10%-75 %.
– Poznámka: Procesy CLR jsou uloženy jako plné (–ma) kvůli omezením při ladění.
-mc Vytvořte 'Vlastní' soubor s výpisem.
- Zahrnuje paměť a metadata definovaná zadanou MINIDUMP_TYPE maskou (Hex).
-Md Zapište výpis zpětného volání.
- Zahrnuje paměť definovanou rutinou MiniDumpWriteDump zpětného volání s názvem MiniDumpCallbackRoutine zadané knihovny DLL.
– Zahrnuje všechna metadata (proces, vlákno, modul, popisovač, adresní prostor atd.).
-mk Zapište také soubor výpisu stavu jádra.
– Zahrnuje zásobníky jádra vláken v procesu.
– Operační systém nepodporuje výpis jádra (-mk) při použití klonu (-r).
– Při použití více velikostí výpisu paměti se pro každou velikost výpisu paměti použije výpis paměti jádra.

Podmínky:

Podmínka Popis
-a Vyhněte se výpadku. Vyžaduje -r. Pokud trigger způsobí pozastavení cíle po delší dobu kvůli překročení limitu souběžného výpisu paměti, aktivační událost se přeskočí.
-at Vyhněte se výpadku při vypršení časového limitu. Zrušte kolekci triggeru v N sekundách.
-b Považujte ladicí body přerušení za výjimky (jinak je ignorujte).
-c Prahová hodnota procesoru, nad kterou se má vytvořit výpis stavu procesu.
-Cl Prahová hodnota procesoru, pod kterou se má vytvořit výpis stavu procesu.
-DC Přidejte zadaný řetězec do vygenerovaného komentáře k výpisu.
-e Zapíše výpis paměti, když proces narazí na neošetřenou výjimku.
Zahrňte 1 k vytvoření výpisu při prvních výjimkách.
Přidejte -ld pro vytvoření výpisu paměti při načtení knihovny DLL (modulu) (filtrování platí).
Přidejte -ud, abyste vytvořili výpis při uvolnění knihovny DLL (modulu); platí filtrování.
Přidejte -ct pro vytvoření výpisu paměti při založení vlákna.
Přidejte -et k vytvoření výpisu při ukončení vlákna.
-f Filtr (include) pro obsah výjimek, protokolování ladění a název souboru při načítání a uvolnění knihovny DLL. Podporují se zástupné cardy (*).
-fx Filtrování (vyloučení) na obsah výjimek, protokolování ladicího procesu a název souboru při načítání a uvolňování knihovny DLL. Podporují se zástupné cardy (*).
-g Spustit jako nativní ladicí program ve spravovaném procesu (bez interoperace)
-h Zapsat výpis, pokud má proces okno v zablokovaném stavu (nereaguje na zprávy okna po dobu nejméně 5 sekund).
-k Ukončete proces po klonování (-r) nebo na konci sběru výpisu.
-l Zobrazit logy ladění procesu.
-m Prahová hodnota potvrzení paměti v MB, ve které se má vytvořit výpis paměti.
-ml Spustí se, když potvrzení paměti klesne pod zadanou hodnotu MB.
-n Počet výpisů před ukončením.
-o Přepište existující soubor s výpisem.
-p Spustí se při dosažení nebo překročení zadané prahové hodnoty výkonovým čítačem. U některých čítačů a/nebo názvů instancí se rozlišují malá a velká písmena.
-pl Aktivujte, když čítač výkonu klesne pod zadanou prahovou hodnotu.
-r Výpis dat s použitím klonu Souběžný limit je volitelný (výchozí 1, max. 5). Operační systém nepodporuje výpis jádra (-mk) při použití klonu (-r). UPOZORNĚNÍ: Vysoká hodnota souběžnosti může mít vliv na výkon systému.
- Windows 7: Používá reflexi. Operační systém nepodporuje -e.
- Windows 8.0: Používá reflexi. Operační systém nepodporuje -e.
- Windows 8.1+: Používá pss. Všechny typy spouštěčů jsou podporovány.
-s Po sobě jdoucí sekundy před zápisem výpisu (výchozí hodnota je 10).
-t Při ukončení procesu napište výpis paměti.
-u Uvažujte o využití CPU vzhledem k jednomu jádru (používá se s -c).
-v POUZE PRO LADĚNÍ: Podrobný výstup.
-w Počkejte, až se zadaný proces spustí, pokud není spuštěný.
-wer Zařaďte největší výpis do fronty Zasílání zpráv o chybách systému Windows.
-x Spusťte zadaný obrázek s volitelnými argumenty. Pokud se jedná o aplikaci nebo balíček store, spustí se procDump při další aktivaci (pouze).
-y SKRYTÉ: Aktivace obchodní aplikace.
-64 Ve výchozím nastavení Nástroj ProcDump zaznamená 32bitový výpis 32bitového procesu při spuštění v 64bitovém systému Windows. Tato možnost přepíše vytvoření 64bitového výpisu paměti. Používá se pouze pro ladění subsystému WOW64.

Licenční smlouva:

Použijte možnost příkazového -accepteula řádku k automatickému přijetí licenční smlouvy Sysinternals.

Automatizované ukončení:

-cancel <Target Process PID>

Pomocí této možnosti nebo nastavení události s názvem ProcDump-<PID> je stejné jako napsání Ctrl+C pro ukončení nástroje ProcDump řádným způsobem. Přiměřené ukončení zajišťuje obnovení procesu, pokud je aktivní zachytávání. Zrušení platí pro všechny instance ProcDump, které proces monitorují.

Jméno souboru:

Výchozí název souboru výpisu paměti: PROCESSNAME_YYMMDD_HHMMSS.dmp

Podporují se následující náhrady:

Substituce Vysvětlení
PROCESSNAME Název procesu
identifikátor PID ID procesu
EXCEPTIONCODE Kód výjimky
YYMMDD Rok/měsíc/den
HHMMSS Hodina/minuta/sekunda

Příklady

  • Napište mini výpis paměti procesu s názvem 'notepad' (může existovat pouze jedna shoda):

    C:\>procdump notepad
    
  • Napište úplný výpis stavu procesu s PID 4572:

    C:\>procdump -ma 4572
    
  • Nejprve vytvořte mini a pak úplný výpis procesu s PID '4572':

    C:\>procdump -mm -ma 4572
    
  • Zapište 3 mini výpisy paměti s odstupem 5 sekund z procesu s názvem „Poznámkový blok“.

    C:\>procdump -n 3 -s 5 notepad
    
  • Při překročení 20% využití procesoru po dobu pěti sekund zapište až 3 minidumpy procesu s názvem 'consume':

    C:\>procdump -n 3 -s 5 -c 20 consume
    
  • Pokud jeden z jeho oken nereaguje déle než 5 sekund, vytvořte mini dump pro proces s názvem "hang.exe".

    C:\>procdump -h hang.exe
    
  • Pokud jeden z jeho oken nereaguje déle než 5 sekund, zapište úplný výpis stavu jádra pro proces s názvem "hang.exe":

    C:\>procdump -ma -mk -h hang.exe
    
  • Pokud celkové využití procesoru systému překročí 20 % po dobu 10 sekund, napište mini výpis procesu s názvem "outlook":

    C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20
    
  • Pokud počet popisovačů Outlooku překročí 10 000, vytvořte úplný výpis procesu s názvem 'Outlook':

    C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
    
  • Když počet popisovačů překročí 10 000, zapište úplnou paměťovou stopu procesu 'svchost' s PID 1234, instance #87.

    C:\>procdump -ma 1234 -p "\Process(svchost#87)\Handle Count" 10000
    

    Poznámka: Více čítačů instancí
    Pokud existuje více instancí čítače, budete muset zahrnout název a/nebo číslo instance.

    \Processor(NNN)\% Processor Time
    \Thermal Zone Information(<name>)\Temperature
    \Process(<name>[#NNN])\<counter>
    

    Starší operační systémy vyžadují přidání PID pro \Process čítače.

    \Process(<name>[_PID])\<counter>
    

    Tip: Pomocí nástroje Sledování výkonu zobrazte čítače (zejména citlivost na velká a malá písmena).
    Tip: Pro čítače založené na \Process(*) použijte PowerShell k namapování PID na jeho #NNN.

    Get-Counter -Counter "\Process(*)\ID Process"
    
  • Napište úplný výpis paměti pro 2. náhodnou výjimku:

    C:\>procdump -ma -e w3wp.exe
    
  • Napište souborový výpis pro 1. nebo 2. příležitostnou výjimku:

    C:\>procdump -ma -e 1 w3wp.exe
    
  • Napište kompletní výpis pro ladicí zprávu řetězce:

    C:\>procdump -ma -l w3wp.exe
    
  • Zapište až 10 úplných výpisů každé 1. nebo 2. výjimky typu "chance" z procesu w3wp.exe.

    C:\>procdump -ma -n 10 -e 1 w3wp.exe
    
  • Pokud kód/název/msg výjimky obsahujeNotFound '', zapište až 10 úplných výpisů paměti:

    C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exe
    
  • Pokud zpráva řetězce ladění obsahuje "NotFound", zapište až 10 plných výpisů.

    C:\>procdump -ma -n 10 -l -f NotFound w3wp.exe
    
  • Počkejte na proces s názvem Poznámkový blok (a sledujte výjimky):

    C:\>procdump -e -w notepad
    
  • Spusťte proces s názvem Poznámkový blok (a monitorujte ho pro výjimky):

    C:\>procdump -e -x c:\dumps notepad
    
  • Zaregistrujte se pro spuštění a pokuste se aktivovat obchodní aplikaci. Po aktivaci se spustí nová instance ProcDump:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMaps
    
  • Zaregistrujte se pro spuštění balíku služeb obchodu. Nová instance ProcDump se spustí, když je aktivovaná (ručně):

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
    
  • Napište výpis paměti MiniPlus informačního úložiště Microsoft Exchange, pokud dojde k neošetřené výjimce.

    C:\>procdump -mp -e store.exe
    
  • Zobrazit bez vytvoření dumpu kódy/názvy výjimek w3wp.exe:

    C:\>procdump -e 1 -f "" w3wp.exe
    
  • Windows 7/8.0; Pomocí Reflection můžete snížit výpadek pro 5 po sobě jdoucích triggers:

    C:\>procdump -r -ma -n 5 -s 15 wmplayer.exe
    
  • Windows 8.1+; Pomocí PSS můžete snížit výpadek pro 5 souběžných triggerů:

    C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exe
    
  • Nainstalujte nástroj ProcDump jako ladicí program postmortem (AeDebug):

    C:\>procdump -ma -i c:\dumps
    

    .. nebo..

    C:\Dumps>procdump -ma -i
    
  • Odinstalujte nástroj ProcDump jako postmortální ladicí program (AeDebug).

    C:\>procdump -u
    

Prohlédněte si seznam ukázkových příkazových řádků (výše uvedené příklady):

C:\>procdump -? -e
  • Windows Internals Book Oficiální aktualizace a stránka s erraty definitivní knihy o Windows internals, od Marka Russinoviche a Davida Solomona.
  • Referenční příručka správce Windows Sysinternals Oficiální průvodce k nástrojům Sysinternals od Marka Russinoviche a Aarona Margosise, zahrnující popisy všech nástrojů, jejich funkcí, návod na jejich použití pro řešení problémů, a příklady jejich použití v reálném světě.

Stáhnout ProcDump(1,2 MB)

Stáhnout ProcDump pro Linux (GitHub)
Stáhnout ProcDump pro Mac (GitHub)

Běží na:

  • Klient: Windows 11 a vyšší.
  • Server: Windows Server 2016 a novější.

Další informace