ProcDump 11.0-s verzió
Mark Russinovich és Andrew Richards
Közzétéve: 2022.03.11.
A ProcDump letöltése (714 KB)
A ProcDump for Linux letöltése (GitHub)
A ProcDump for Mac letöltése (GitHub)
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.
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 -e a .- Windows 8.0: Tükröződést használ. Az operációs rendszer nem támogatja -e a .- 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 -c haszná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 |
Í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őt
NotFound
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.
A 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.
- Töredezettségmentesítési eszközök: #9 – ProcDump A Töredezettségmentesítési eszközök ezen epizódja bemutatja, hogy az eszköz mit rögzít és milyen várható üzemkimaradási időtartamokat tartalmaz
- Töredezettségmentesítési eszközök: #10 – ProcDump – Triggerek Ez az epizód a triggerbeállításokat ismerteti, különös tekintettel az 1. és 2. esélyre vonatkozó kivételekre
- Töredezettségmentesítési eszközök: #11 – ProcDump – Windows 8 & Folyamatfigyelő Ez az epizód a modern alkalmazástámogatást és a Folyamatfigyelő naplózási támogatását ismerteti