ProcDump v12.0

Door Mark Russinovich en Andrew Richards

Gepubliceerd: 7 mei 2026

Download Download ProcDump(1,2 MB)

ProcDump voor Linux downloaden (GitHub)
ProcDump voor Mac downloaden (GitHub)

Gemaakt met ZoomIt

Inleiding

ProcDump is een opdrachtregelprogramma waarvan het primaire doel een toepassing voor CPU-pieken bewaakt en crashdumps genereert tijdens een piek die een beheerder of ontwikkelaar kan gebruiken om de oorzaak van de piek te bepalen. ProcDump bevat ook bewaking van vastgelopen vensters (met dezelfde definitie van een vensterprobleem die door Windows en Taakbeheer wordt gebruikt), bewaking van niet-afgehandelde uitzonderingen en kan dumps genereren op basis van de waarden van systeemprestatiemonitoren. Het kan ook fungeren als een algemeen hulpprogramma voor procesdump dat u in andere scripts kunt insluiten.

ProcDump gebruiken

Vastleggen van gebruik:

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

Gebruik van installatie:

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

Deïnstallatiegebruik:

procdump.exe -u

Dumptypen:

Dumptype Beschrijving
-Mm Schrijf een minidumpbestand. (standaard)
- Bevat direct en indirect verwezen geheugen (stapels en waarnaar ze verwijzen).
- Bevat alle metagegevens (proces, thread, module, ingang, adresruimte, enzovoort).
-ma Schrijf een 'volledig' dumpbestand.
- Bevat alle geheugen (Image-geheugen, gemapt en privé).
- Bevat alle metagegevens (proces, thread, module, ingang, adresruimte, enzovoort).
-mt Schrijf een dumpbestand 'Triage'.
- Bevat rechtstreeks verwezen geheugen (stacks).
- Bevat beperkte metagegevens (proces, thread, module en ingang).
- Het verwijderen van gevoelige informatie wordt geprobeerd, maar niet gegarandeerd.
-mp Schrijf een MiniPlus-dumpbestand.
- Bevat alle privégeheugens en alle lees-/schrijfafbeeldingen of toegewezen geheugen.
- Bevat alle metagegevens (proces, thread, module, ingang, adresruimte, enzovoort).
- Om de grootte te minimaliseren, wordt het grootste privégeheugengebied van meer dan 512 MB uitgesloten.
  Een geheugengebied wordt gedefinieerd als de som van geheugentoewijzingen van dezelfde grootte.
  De dump is zo gedetailleerd als een volledige dump, maar slechts 10%-75% van zijn grootte.
- Opmerking: CLR-processen worden gedumpt als Volledig (-ma) vanwege foutopsporingsbeperkingen.
-Mc Schrijf een 'Aangepast' dumpbestand.
- Bevat het geheugen en de metagegevens die zijn gedefinieerd door het opgegeven MINIDUMP_TYPE masker (Hex).
-Md Schrijf een callback-dumpbestand.
- Bevat het geheugen dat is gedefinieerd door de callback-routine met de MiniDumpWriteDump naam MiniDumpCallbackRoutine van de opgegeven DLL.
- Bevat alle metagegevens (proces, thread, module, ingang, adresruimte, enzovoort).
-mk Schrijf ook een kerneldumpbestand.
- Bevat de kernelstapels van de threads in het proces.
- Het besturingssysteem biedt geen ondersteuning voor een kerneldump (-mk) bij het gebruik van een kloon (-r).
- Wanneer u meerdere dumpgrootten gebruikt, wordt voor elke dumpgrootte een kerneldump genomen.

Voorwaarden:

Voorwaarde Beschrijving
-a Vermijd storingen. Vereist -r. Als de trigger ervoor zorgt dat het doel gedurende langere tijd wordt onderbroken vanwege een overschreden gelijktijdige dumplimiet, wordt de trigger overgeslagen.
-@ Vermijd storingen bij Timeout. Annuleer de verzameling van de trigger na N seconden.
-b Foutopsporingsonderbrekingspunten behandelen als uitzonderingen (negeer ze anders).
-c CPU-drempelwaarde waarboven een dump van het proces moet worden gemaakt.
-Cl CPU-drempelwaarde waaronder een dump van het proces moet worden gemaakt.
-dc Voeg de opgegeven tekenreeks toe aan de gegenereerde dumpcommentaar.
-e Schrijf een dump wanneer het proces een onverwerkte uitzondering tegenkomt.
Neem de 1 op om een dump bij eerste kans-uitzonderingen te maken.
Toevoegen -ld om een dump te maken wanneer een DLL (module) wordt geladen (filteren van toepassing).
Toevoegen -ud om een dump te maken wanneer een DLL (module) wordt uitgeladen (filteren van toepassing).
Voeg -ct toe om een dump te maken wanneer een thread wordt aangemaakt.
Voeg -et toe om een dump te maken wanneer een thread wordt afgesloten.
-f Filter (inclusief) op de inhoud van uitzonderingen, debugging-logboek en bestandsnaam tijdens DLL laden/verwijderen. Jokertekens (*) worden ondersteund.
-fx Filter (uitsluiten) op de inhoud van uitzonderingen, foutopsporing in logboekregistratie en bestandsnaam bij dll-laden/verwijderen. Jokertekens (*) worden ondersteund.
-g Uitvoeren als een systeemeigen foutopsporingsprogramma in een beheerd proces (geen interoperabiliteit).
-h Schrijfdump als het proces een vastgelopen venster heeft (reageert niet op vensterberichten gedurende ten minste 5 seconden).
-k Dood het proces na het klonen (-r) of aan het einde van de dumpverzameling.
-l De logboekregistratie voor foutopsporing van het proces weergeven.
-m Drempelwaarde voor geheugencommit in MB waarop een dump moet worden gemaakt.
-ml Trigger wanneer de geheugencommit onder de opgegeven MB-waarde daalt.
-n Aantal dumps dat moet worden geschreven voordat het proces wordt beëindigd.
-o Een bestaand dumpbestand overschrijven.
-p Trigger wanneer de prestatiemeter de opgegeven drempel bereikt of overschrijdt. Sommige tellers en/of instantie-namen kunnen hoofdlettergevoelig zijn.
-pl Trigger wanneer het prestatiemeteritem onder de opgegeven drempelwaarde valt.
-r Dumpen met behulp van een kloon. Gelijktijdige limiet is optioneel (standaard 1, max 5). Het besturingssysteem biedt geen ondersteuning voor een kerneldump (-mk) wanneer u een kloon (-r) gebruikt. LET OP: een hoge gelijktijdigheidswaarde kan van invloed zijn op de systeemprestaties.
- Windows 7: Maakt gebruik van weerspiegeling. Het besturingssysteem biedt geen ondersteuning voor -e.
- Windows 8.0: Maakt gebruik van weerspiegeling. Het besturingssysteem ondersteunt -e niet.
- Windows 8.1+: maakt gebruik van PSS. Alle triggertypen worden ondersteund.
-s Aaneengesloten seconden voordat de dump wordt geschreven (standaard is 10).
-t Schrijf een dump wanneer het proces wordt beëindigd.
-u Cpu-gebruik ten opzichte van één kern behandelen (gebruikt met -c).
-v ALLEEN VOOR DEBUGGING: Gedetailleerde uitvoer.
-w Wacht tot het gespecificeerde proces wordt gestart als het niet draait.
-wer In de wachtrij plaatsen van de grootste dump naar Windows Foutrapportage.
-x Start de opgegeven afbeelding met optionele argumenten. Als het een Store-toepassing of -pakket is, wordt ProcDump gestart bij de volgende activering (alleen).
-y VERBORGEN: Activatie van winkelapplicatie.
-64 ProcDump legt standaard een 32-bits dump van een 32-bits proces vast bij uitvoering op 64-bits Windows. Deze optie wordt gebruikt om een 64-bits dump te maken. Alleen gebruiken voor foutopsporing van WOW64-subsystemen.

Licentieovereenkomst:

Gebruik de -accepteula opdrachtregeloptie om automatisch de Sysinternals-licentieovereenkomst te accepteren.

Automatische beëindiging:

-cancel <Target Process PID>

Als u deze optie gebruikt of een gebeurtenis instelt met de naam ProcDump-<PID> , is hetzelfde als het typen van Ctrl+C om ProcDump correct te beëindigen. Een zorgvuldige beëindiging zorgt ervoor dat het proces wordt hervat indien er een opname actief is. De annulering is van toepassing op ALLE ProcDump-exemplaren die het proces bewaken.

Bestandsnaam:

Standaarddumpbestand: PROCESSNAME_YYMMDD_HHMMSS.dmp

De volgende vervangingen worden ondersteund:

Vervanging Uitleg
PROCESNAAM Procesnaam
PID Proces-ID
EXCEPTIONCODE Uitzonderingscode
JJMMDD Jaar/maand/dag
UUMMSS Uur/minuut/seconde

Voorbeelden

  • Schrijf een mini-dump van een proces genaamd 'notepad' (er kan slechts één overeenkomst bestaan):

    C:\>procdump notepad
    
  • Schrijf een volledige dump van een proces met PID '4572':

    C:\>procdump -ma 4572
    
  • Schrijf eerst een Mini dump en daarna een Full dump van een proces met PID '4572':

    C:\>procdump -mm -ma 4572
    
  • Schrijf 3 minidumps van een proces met de naam 'kladblok', met een interval van 5 seconden.

    C:\>procdump -n 3 -s 5 notepad
    
  • Schrijf maximaal 3 Minidumps van een proces met de naam 'verbruik' wanneer het 20% CPU-gebruik gedurende vijf seconden overschrijdt:

    C:\>procdump -n 3 -s 5 -c 20 consume
    
  • Schrijf een Minidump voor een proces met de naam 'hang.exe' wanneer een van de vensters langer dan 5 seconden niet reageert:

    C:\>procdump -h hang.exe
    
  • Schrijf een volledige en kerneldump voor een proces met de naam 'hang.exe' wanneer een van de vensters langer dan 5 seconden niet reageert:

    C:\>procdump -ma -mk -h hang.exe
    
  • Schrijf een minidump van een proces met de naam 'outlook' wanneer het totale CPU-gebruik van het systeem gedurende 10 seconden groter is dan 20%:

    C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20
    
  • Schrijf een volledige dump van een proces met de naam 'outlook' wanneer het aantal ingangen van Outlook groter is dan 10.000:

    C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
    
  • Schrijf een volledige dump van 'svchost' PID 1234, instance #87, wanneer het aantal handles groter is dan 10.000:

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

    Opmerking: Meerdere instantiecounters
    Als er meerdere exemplaren van de teller zijn, moet u de naam en/of het exemplaarnummer vermelden.

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

    Voor oudere besturingssystemen moet u voor \Process-tellers de PID toevoegen.

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

    Tip: Gebruik Prestatiemeter om de prestatiemeteritems weer te geven (esp. hoofdlettergevoeligheid).
    Tip: Voor op \Process(*) gebaseerde tellers gebruikt u PowerShell om een PID toe te wijzen aan de bijbehorende #NNN.

    Get-Counter -Counter "\Process(*)\ID Process"
    
  • Schrijf een volledige dump voor een uitzondering voor de tweede kans:

    C:\>procdump -ma -e w3wp.exe
    
  • Schrijf een volledige dump voor een 1e of 2e kans uitzondering.

    C:\>procdump -ma -e 1 w3wp.exe
    
  • Schrijf een volledige dump van een debug-tekenreeksbericht.

    C:\>procdump -ma -l w3wp.exe
    
  • Schrijf maximaal 10 volledige dumps van elke 1e of 2e kans uitzondering op w3wp.exe:

    C:\>procdump -ma -n 10 -e 1 w3wp.exe
    
  • Schrijf maximaal 10 volledige dumps als de code/naam/msg van een uitzondering 'NotFound' bevat:

    C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exe
    
  • Schrijf maximaal 10 volledige dumps als een foutopsporingstekenreeksbericht 'NotFound' bevat:

    C:\>procdump -ma -n 10 -l -f NotFound w3wp.exe
    
  • Wacht op een proces genaamd 'Kladblok' (en monitor het op uitzonderingen):

    C:\>procdump -e -w notepad
    
  • Start een proces genaamd 'Notepad' (en monitor het voor uitzonderingen):

    C:\>procdump -e -x c:\dumps notepad
    
  • Registreer voor de lancering en probeer een winkelapplicatie te activeren. Er wordt een nieuw ProcDump-exemplaar gestart wanneer deze wordt geactiveerd:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMaps
    
  • Schrijf je in voor de lancering van een winkelpakket. Er wordt een nieuw ProcDump-exemplaar gestart wanneer deze (handmatig) is geactiveerd:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
    
  • Schrijf een MiniPlus-dump van de Microsoft Exchange Information Store wanneer er een niet-afgehandelde uitzondering optreedt:

    C:\>procdump -mp -e store.exe
    
  • Het weergeven van de uitzonderingscodes/namen van w3wp.exe zonder een dump te schrijven.

    C:\>procdump -e 1 -f "" w3wp.exe
    
  • Windows 7/8.0; Gebruik Reflection om storingen voor vijf opeenvolgende triggers te verminderen:

    C:\>procdump -r -ma -n 5 -s 15 wmplayer.exe
    
  • Windows 8.1+; Gebruik PSS om de storing voor 5 gelijktijdige triggers te verminderen:

    C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exe
    
  • Installeer ProcDump als postmortem debugger (AeDebug):

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

    .. of..

    C:\Dumps>procdump -ma -i
    
  • Verwijder ProcDump als postmortem debugger (AeDebug):

    C:\>procdump -u
    

Bekijk een lijst met voorbeeldopdrachtregels (de bovenstaande voorbeelden worden vermeld):

C:\>procdump -? -e
  • Windows Internals Book De officiële pagina met updates en errata voor het definitieve boek over Windows internals, door Mark Russinovich en David Solomon.
  • Naslaginformatie voor Windows Sysinternals-beheerder De officiële gids voor de Sysinternals-hulpprogramma's van Mark Russinovich en Aaron Margosis, inclusief beschrijvingen van alle hulpprogramma's, hun functies, hoe ze kunnen worden gebruikt voor het oplossen van problemen en voorbeelden van praktijkvoorbeelden van hun gebruik.

Download Download ProcDump(1,2 MB)

ProcDump voor Linux downloaden (GitHub)
ProcDump voor Mac downloaden (GitHub)

Wordt uitgevoerd op:

  • Client: Windows 11 en hoger.
  • Server: Windows Server 2016 en hoger.

Meer informatie