Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Mark Russinovich a Andrew Richards
Publikováno: 7. května 2026
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 notepadNapište úplný výpis stavu procesu s PID 4572:
C:\>procdump -ma 4572Nejprve vytvořte mini a pak úplný výpis procesu s PID '4572':
C:\>procdump -mm -ma 4572Zapiš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 notepadPř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 consumePokud 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.exePokud 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.exePokud 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" 20Pokud 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" 10000Když 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" 10000Pozná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.exeNapište souborový výpis pro 1. nebo 2. příležitostnou výjimku:
C:\>procdump -ma -e 1 w3wp.exeNapište kompletní výpis pro ladicí zprávu řetězce:
C:\>procdump -ma -l w3wp.exeZapiš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.exePokud kód/název/msg výjimky obsahuje
NotFound'', zapište až 10 úplných výpisů paměti:C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exePokud 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.exePočkejte na proces s názvem Poznámkový blok (a sledujte výjimky):
C:\>procdump -e -w notepadSpusťte proces s názvem Poznámkový blok (a monitorujte ho pro výjimky):
C:\>procdump -e -x c:\dumps notepadZaregistrujte 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!AppexMapsZaregistrujte 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__8wekyb3d8bbweNapiš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.exeZobrazit bez vytvoření dumpu kódy/názvy výjimek w3wp.exe:
C:\>procdump -e 1 -f "" w3wp.exeWindows 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.exeWindows 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.exeNainstalujte nástroj ProcDump jako ladicí program postmortem (AeDebug):
C:\>procdump -ma -i c:\dumps.. nebo..
C:\Dumps>procdump -ma -iOdinstalujte 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
Související odkazy
- 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ě.
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
- Defrag Tools: #9 - ProcDump Tato epizoda Defrag Tools popisuje, co nástroj zachycuje a očekávané doby výpadku
- Defrag Tools: #10 - ProcDump - Triggers Tato epizoda pokrývá možnosti spouště (triggers), zejména výjimky první a druhé šance.
- Defrag Tools: #11 - ProcDump - Windows 8 & Process Monitor Tato epizoda popisuje podporu moderních aplikací a podporu protokolování sledování procesů