Olvasás angol nyelven

Megosztás a következőn keresztül:


ProcDump 11.0-s verzió

Mark Russinovich és Andrew Richards

Közzétéve: 2022.03.11.

LetöltésA ProcDump letöltése (714 KB)

A ProcDump for Linux letöltése (GitHub)
A ProcDump for Mac letöltése (GitHub)

Létrehozva a ZoomIttel

Bevezetés

A ProcDump egy parancssori segédprogram, amelynek elsődleges célja egy alkalmazás monitorozása a cpu-kiugró értékekhez, és összeomlási memóriaképek generálása egy kiugró érték során, amellyel a rendszergazda vagy a fejlesztő meghatározhatja a kiugró érték okát. A ProcDump emellett lefagyott ablakmonitorozást is tartalmaz (a Windows és a Task Manager által használt ablaklefagyás definícióját használva), a nem kezelt kivételfigyelést, és a rendszerteljesítmény-számlálók értékei alapján hozhat létre memóriaképeket. Általános folyamatkép-segédprogramként is használható, amelyet más szkriptekbe is beágyazhat.

A ProcDump használata

Használati adatok rögzítése:

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

Használati adatok telepítése:

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

Használat eltávolítása:

procdump.exe -u

Memóriaképtípusok:

Memóriakép típusa Leírás
-Mm Írjon egy "Mini" memóriaképfájlt. (alapértelmezett)
- Magában foglalja a közvetlenül és közvetetten hivatkozott memóriát (veremeket és az általuk hivatkozottakat).
- Tartalmazza az összes metaadatot (folyamat, szál, modul, leíró, címtér stb.).
-ma Írjon egy "Teljes" memóriaképfájlt.
- Tartalmazza az összes memóriát (kép, leképezett és privát).
- Tartalmazza az összes metaadatot (folyamat, szál, modul, leíró, címtér stb.).
-Mt Írjon egy "Triage" memóriaképfájlt.
- Közvetlenül hivatkozott memóriát (vermeket) tartalmaz.
– Korlátozott metaadatokat tartalmaz (folyamat, szál, modul és leíró).
- A bizalmas adatok eltávolítása megkísérlése, de nem garantált.
-Mp Írjon egy "MiniPlus" memóriaképfájlt.
– Tartalmazza az összes magánmemóriát, valamint az összes olvasási/írási képet vagy leképezett memóriát.
- Tartalmazza az összes metaadatot (folyamat, szál, modul, leíró, címtér stb.).
- A méret minimalizálása érdekében a legnagyobb 512 MB-nál nagyobb magánmemóriaterület ki van zárva.
  A memóriaterület az azonos méretű memóriafoglalások összege.
  A memóriakép olyan részletes, mint a teljes memóriakép, de a méret 10-75%-a.
- Megjegyzés: A CLR-folyamatok a hibakeresési korlátozások miatt teljesként (-ma) vannak dobva.
-Mc Írjon egy "Egyéni" memóriaképfájlt.
- Tartalmazza a megadott MINIDUMP_TYPE maszk (Hexa) által definiált memóriát és metaadatokat.
-Md Írjon visszahívási memóriaképfájlt.
– Tartalmazza a megadott DLL-ről elnevezett MiniDumpCallbackRoutine visszahívási rutin által MiniDumpWriteDump meghatározott memóriát.
- Tartalmazza az összes metaadatot (folyamat, szál, modul, leíró, címtér stb.).
-Mk Emellett írjon egy "Kernel" memóriaképfájlt is.
- Tartalmazza a folyamat szálainak kernelvermeit.
- Az operációs rendszer nem támogatja a kernelképet (-mk) klón-r () használatakor.
- Ha több memóriaképméretet használ, minden egyes memóriaképmérethez kernelképet kell használni.

Feltételek:

Feltétel Leírás
-egy Kerülje a kimaradást. A szükséges -r. Ha az eseményindító miatt a cél hosszabb ideig felfüggeszthető egy túllépett memóriaképkorlát miatt, a rendszer kihagyja az eseményindítót.
-nél Időtúllépéskor kerülje a kimaradást. Az eseményindító gyűjteményének megszakítása másodpercek alatt N .
-b A hibakeresési töréspontokat kivételként kezelje (ellenkező esetben hagyja figyelmen kívül).
-c A folyamat memóriaképének létrehozásához szolgáló cpu-küszöbérték.
-Cl A folyamat memóriaképének létrehozásához szolgáló CPU-küszöbérték.
-Dc Adja hozzá a megadott sztringet a létrehozott memóriakép-megjegyzéshez.
-e Írjon egy memóriaképet, amikor a folyamat kezeletlen kivételt tapasztal.
Adja meg a 1 memóriakép létrehozásához az első esélykivételeket.
Hozzáadás -ld egy memóriakép létrehozásához a DLL (modul) betöltésekor (a szűrés érvényes).
Hozzáadás -ud egy memóriakép létrehozásához, amikor egy DLL (modul) ki van ürítve (a szűrés érvényes).
Adja hozzá -ct , hogy létrehozhasson egy memóriaképet egy szál létrehozásakor.
Hozzáadás -et egy memóriakép létrehozásához, amikor egy szál kilép.
-f Szűrjön (tartalmazza) a kivételek tartalmát, hibakeresési naplózást és fájlnevet a DLL-be- vagy kitöltéskor. A helyettesítő karakterek (*) támogatottak.
-Fx Szűrje (zárja ki) a kivételek tartalmát, hibakeresési naplózást és fájlnevet a DLL-be- vagy kitöltéskor. A helyettesítő karakterek (*) támogatottak.
-g Futtassa natív hibakeresőként egy felügyelt folyamatban (nincs interop).
-h Írási memóriakép, ha a folyamat lefagyott ablakkal rendelkezik (legalább 5 másodpercig nem válaszol az ablaküzenetekre).
-k Tiltsa le a folyamatot a klónozás (-r) után vagy a memóriakép-gyűjtemény végén.
-l A folyamat hibakeresési naplózásának megjelenítése.
-m Memória véglegesítési küszöbértéke MB-ban, amelynél memóriaképet szeretne létrehozni.
-Ml Eseményindító, ha a memória véglegesítése a megadott MB-érték alá csökken.
-n Kilépés előtt írandó memóriaképek száma.
-o Meglévő memóriaképfájl felülírása.
-p Eseményindító, ha a teljesítményszámláló a megadott küszöbértéknél vagy annál nagyobb. Egyes számlálók és/vagy példánynevek megkülönböztethetik a kis- és nagybetűket.
-Pl Eseményindító, ha a teljesítményszámláló a megadott küszöbérték alá esik.
-r Klón használatával történő memóriakép. Az egyidejű korlát nem kötelező (alapértelmezett 1, maximum 5). Az operációs rendszer nem támogatja a kernelképet (-mk) klón-r () használatakor. FIGYELEM: a magas egyidejűségi érték hatással lehet a rendszer teljesítményére.
- Windows 7: Tükröződést használ. Az operációs rendszer nem támogatja -ea .
- Windows 8.0: Tükröződést használ. Az operációs rendszer nem támogatja -ea .
- Windows 8.1+: PSS-t használ. Minden eseményindítótípus támogatott.
-s Egymást követő másodpercek a memóriakép írása előtt (az alapértelmezett érték 10).
-t A folyamat leállásakor írjon egy memóriaképet.
-u A processzorhasználat kezelése egyetlen maghoz viszonyítva (a következővel -chasználva: ).
-v HIBAKERESÉS CSAK: Részletes kimenet.
-w Várja meg, amíg a megadott folyamat elindul, ha nem fut.
-Wer A (legnagyobb) memóriakép várólistára helyezése a Windows hibajelentés.
-x Indítsa el a megadott lemezképet opcionális argumentumokkal. Ha áruházbeli alkalmazásról vagy csomagról van szó, a ProcDump a következő aktiváláskor indul el (csak).
-y REJTETT: Alkalmazásaktiválás tárolása.
-64 Alapértelmezés szerint a ProcDump egy 32 bites memóriaképet rögzít egy 32 bites folyamatról, amikor 64 bites Windows rendszeren fut. Ez a beállítás felülbírálja a 64 bites memóriakép létrehozását. Csak a WOW64 alrendszer hibakereséséhez használható.

Licencszerződés:

A parancssori -accepteula beállítással automatikusan elfogadhatja a Sysinternals licencszerződést.

Automatikus megszüntetés:

-cancel <Target Process PID>

Ezzel a beállítással vagy egy esemény nevének ProcDump-<PID> beállításával ugyanaz, mint a Ctrl+C billentyűkombinációval a ProcDump elegáns leállításához. A türelmes leállítás biztosítja, hogy a folyamat folytatódjon, ha egy rögzítés aktív. A lemondás a folyamatot monitorozó ÖSSZES ProcDump-példányra vonatkozik.

Fájlnév:

Alapértelmezett memóriaképfájl neve: PROCESSNAME_YYMMDD_HHMMSS.dmp

A következő helyettesítések támogatottak:

Helyettesítés Magyarázat
FOLYAMATNÉV Folyamat neve
PID Folyamatazonosító
EXCEPTIONCODE Kivételkód
YYMMDD Év/hónap/nap
HHMMSS Óra/perc/másodperc

Példák

  • Írjon egy "jegyzettömb" nevű folyamat miniképét (csak egy egyezés létezhet):

    C:\>procdump notepad
    
  • Írjon egy folyamat teljes memóriaképét a 4572 PID-vel:

    C:\>procdump -ma 4572
    
  • Először írjon egy Minit, majd egy folyamat teljes memóriaképét a 4572 PID-vel:

    C:\>procdump -mm -ma 4572
    
  • Írjon 3 mini memóriaképet 5 másodperccel a jegyzettömb nevű folyamattól:

    C:\>procdump -n 3 -s 5 notepad
    
  • Legfeljebb 3 mini memóriaképet írhat egy "felhasználás" nevű folyamatról, ha öt másodpercig meghaladja a 20%-os processzorhasználatot:

    C:\>procdump -n 3 -s 5 -c 20 consume
    
  • Írjon egy Mini memóriaképet egy "hang.exe" nevű folyamathoz, ha az egyik ablaka több mint 5 másodpercig nem válaszol:

    C:\>procdump -h hang.exe
    
  • Írjon egy Teljes és Kernel memóriaképet egy "hang.exe" nevű folyamathoz, ha az egyik ablaka több mint 5 másodpercig nem válaszol:

    C:\>procdump -ma -mk -h hang.exe
    
  • Írjon egy "outlook" nevű folyamat miniképét, ha a teljes rendszer CPU-kihasználtsága 10 másodpercig meghaladja a 20%-ot:

    C:\>procdump outlook -s 10 -p "\Processor(_Total)\% Processor Time" 20
    
  • Írjon egy "outlook" nevű folyamat teljes memóriaképét, ha az Outlook leírószáma meghaladja a 10 000-et:

    C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
    
  • Írjon egy teljes memóriaképet az "svchost" PID 1234,87-példányról, ha a leírók száma meghaladja a 10 000-et:

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

    Megjegyzés: Több példányszámláló
    Ha a számlálónak több példánya is van, a nevet és/vagy a példányszámot is tartalmaznia kell.

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

    A régebbi operációs rendszerekhez hozzá kell fűznie a PID-t a számlálókhoz \Process .

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

    Tipp: A Számlálók (esp. kis- és nagybetűk érzékenysége) megtekintése a Teljesítményfigyelő használatával.
    Tipp: Az alapul szolgáló számlálók esetében \Process(*) a PowerShell használatával képezhet le egy PID-t annak #NNN.

    Get-Counter -Counter "\Process(*)\ID Process"
    
  • Írjon egy teljes memóriaképet a második lehetőség kivételéhez:

    C:\>procdump -ma -e w3wp.exe
    
  • Írjon be egy teljes memóriaképet egy 1. vagy 2. véletlen kivételhez:

    C:\>procdump -ma -e 1 w3wp.exe
    
  • Teljes memóriakép írása hibakeresési sztringüzenethez:

    C:\>procdump -ma -l w3wp.exe
    
  • Legfeljebb 10 teljes memóriaképet írhat a w3wp.exe minden egyes 1. vagy 2. esélykivételéből:

    C:\>procdump -ma -n 10 -e 1 w3wp.exe
    
  • Legfeljebb 10 teljes memóriakép írása, ha egy kivétel kódja/neve/msg tartalma"NotFound:

    C:\>procdump -ma -n 10 -e 1 -f NotFound w3wp.exe
    
  • Legfeljebb 10 teljes memóriakép írása, ha egy hibakeresési sztringüzenet a következőtNotFound tartalmazza:

    C:\>procdump -ma -n 10 -l -f NotFound w3wp.exe
    
  • Várjon egy "jegyzettömb" nevű folyamatot (és figyelje meg a kivételeket):

    C:\>procdump -e -w notepad
    
  • Nyisson meg egy "jegyzettömb" nevű folyamatot (és figyelje meg a kivételeket):

    C:\>procdump -e -x c:\dumps notepad
    
  • Regisztráljon egy áruházbeli "alkalmazás" elindítására és aktiválására. Az aktiváláskor egy új ProcDump-példány indul el:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_8wekyb3d8bbwe!AppexMaps
    
  • Regisztráljon egy "csomag" áruház elindításához. Egy új ProcDump-példány akkor indul el, amikor (manuálisan) aktiválódik:

    C:\>procdump -e -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
    
  • Írjon egy MiniPlus-memóriaképet a Microsoft Exchange Information Store-ból, ha nem kezelt kivételt tartalmaz:

    C:\>procdump -mp -e store.exe
    
  • Memóriakép írása nélkül jelenik meg, a w3wp.exe kivételkódjai/nevei:

    C:\>procdump -e 1 -f "" w3wp.exe
    
  • Windows 7/8.0; A Reflection használatával csökkentheti az 5 egymást követő eseményindító kimaradását:

    C:\>procdump -r -ma -n 5 -s 15 wmplayer.exe
    
  • Windows 8.1+; A PSS használatával csökkentheti az 5 egyidejű eseményindító kimaradását:

    C:\>procdump -r 5 -ma -n 5 -s 15 wmplayer.exe
    
  • Telepítse a ProcDumpot (AeDebug) postmortem hibakeresőként:

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

    .. vagy..

    C:\Dumps>procdump -ma -i
    
  • Távolítsa el a ProcDumpot a (AeDebug) postmortem hibakeresőként:

    C:\>procdump -u
    

Tekintse meg a példaparancsok listáját (a példák fent láthatók):

C:\>procdump -? -e
  • Windows Internals Book A hivatalos frissítések és errata oldal a végleges könyv a Windows belső, Mark Russinovich és David Solomon.
  • Windows Sysinternals-rendszergazdai referencia Mark Russinovich és Aaron Margosis Sysinternals segédprogramjainak hivatalos útmutatója, beleértve az összes eszköz leírását, funkcióit, hibaelhárításhoz való használatát, valamint a használatuk valós eseteit.

LetöltésA ProcDump letöltése (714 KB)

A ProcDump for Linux letöltése (GitHub)
A ProcDump for Mac letöltése (GitHub)

Futtatás:

  • Ügyfél: Windows 8.1 vagy újabb.
  • Kiszolgáló: Windows Server 2012 és újabb.

További információ