Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben áttekintheti a felhasználói módú memóriaképfájlokat, és megtudhatja, hogyan használhatja őket a hibák és összeomlások elhárításához.
A memóriaképfájl elemzésével kapcsolatos információkért lásd: Felhasználói módú memóriaképfájl elemzése.
Felhasználói módú memóriaképfájlok típusai
Többféle felhasználói módú összeomlási adatfájl érhető el. A különböző típusú memóriaképfájlok két kategóriába vannak osztva:
A memóriaképfájl elemzésével jelentős mennyiségű információt kaphat. Egyetlen memóriaképfájl sem képes olyan mennyiségű információt adni, mint a hibakereső használatával végzett összeomlás hibakeresése.
Teljes felhasználói módú memóriaképek
A teljes felhasználói módú memóriakép az alapszintű felhasználói módú memóriaképfájl alapértelmezett típusa. A teljes felhasználói módú memóriaképfájl a következőket tartalmazza:
- A folyamat teljes memóriaterülete.
- A program végrehajtható képe.
- A fogótábla.
- Egyéb információk, amelyek segítenek a hibakeresőnek rekonstruálni azt a memóriát, amely használatban volt a dump bekövetkezésekor.
A teljes felhasználói módú memóriaképfájlt minidumpra zsugoríthatja . A teljes felhasználói módú memóriaképfájl zsugorításához először a hibakeresőbe kell betölteni a memóriaképfájlt. Ezután a .dump (Create Dump File) paranccsal mentsen egy új memóriaképfájlt minidump formátumban.
A nevük ellenére a legnagyobb minidump fájlverzió több információt tartalmaz, mint a teljes felhasználói módú dump fájl. A parancsok például .dump /mf.dump /ma nagyobb és teljesebb fájlokat hoznak létre, mint a .dump /f parancs.
Felhasználói módban .dump /ma [MiniOptions] gyakran a legjobb választás. A memóriaképfájlok, amelyeket ezzel a kapcsolóval hozol létre, méretükben nagyon kicsiktől nagyon nagyokig terjedhetnek. A megfelelő MiniOptions kapcsoló megadásával pontosan szabályozhatja, hogy milyen információk szerepelnek benne.
Minidumps
A minidump fájl mérete és tartalma a programtól, amelyről a minidumpot készítik, a minidumpt készítő alkalmazástól, és a kiválasztott lehetőségektől függően változik. Néha egy minidump fájl közepesen nagy, és tartalmazza a teljes memóriát és a kezelőtáblát. Máskor a minidump fájl sokkal kisebb. Előfordulhat például, hogy egy minidump fájl csak egyetlen szálra vonatkozó információt tartalmaz, vagy csak a veremben hivatkozott modulokra vonatkozó információkat tartalmaz.
A minidump kifejezés félrevezető, mert a legnagyobb minidump fájlok több információt tartalmaznak, mint egy teljes felhasználói módú memóriaképfájl. Például a .dump /mf és .dump /ma egy nagyobb és teljesebb fájlt hoz létre, mint a .dump /f. Ezért azt javasoljuk, hogy az összes felhasználói módú memóriaképfájl létrehozásához a .dump /f helyett a [MiniOptions] parancsot használja.dump /m.
Ha minidump fájlt hoz létre a hibakereső használatával, kiválaszthatja, hogy milyen információkat tartalmazzon. A .dump /m parancs alapvető információkat tartalmaz a célfolyamatot alkotó betöltött modulokról, a szálinformációkról és a veremadatokról. Az alapszintű parancsot az alábbi kapcsolóbeállítások bármelyikével módosíthatja:
.dump lehetőség |
Hatás a kiöntési fájlra |
|---|---|
/ma |
Létrehoz egy minidumpot az összes választható kiegészítéssel. A /ma beállítás egyenértékű a következő beállítással /mfFhut: . Teljes memóriaadatokat, kezelési adatokat, betöltetlen moduladatokat, alapvető memóriainformációkat és szálidőadatokat ad hozzá a minidumphoz. |
/mf |
Teljes memóriaadatokat ad hozzá a minidumphoz. A célalkalmazás tulajdonában lévő összes hozzáférhető lefoglalt oldal szerepel benne. |
/mF |
Az összes alapvető memóriainformációt hozzáadja a minidumphoz. Ez a kapcsoló hozzáad egy streamet a minidumphoz, amely az összes alapvető memóriainformációt tartalmazza, nem csak az érvényes memóriával kapcsolatos információkat. A hibakereső az információkat arra használja, hogy rekonstruálja a folyamat teljes virtuális memóriaelrendezését, amikor a minidumpot hibakeresés alatt áll. |
/mh |
Adatokat ad a célalkalmazáshoz társított leírókról a minidumphoz. |
/mu |
Hozzáadja a kiürített modul adatait a minidumphoz. Ez a beállítás csak a Windows Server 2003 és újabb verzióiban érhető el. |
/mt |
További szálinformációkat ad hozzá a minidumphoz. A szálinformációk a szálidőkre is kiterjednek, amelyeket a minidump hibakeresésekor a .ttime (Menetidők megjelenítése) használatával jeleníthet meg. |
/mi |
Másodlagos memóriát ad hozzá a minidumphoz. Másodlagos memória minden olyan memória, amelyet a veremben vagy a háttértárban lévő mutató hivatkozik, valamint az adott cím körüli kis régiót is magában foglalja. |
/mp |
A folyamatkörnyezet blokk- és szálkörnyezeti blokkadatait adja hozzá a minidumphoz. Ez az információ akkor lehet hasznos, ha hozzá kell férnie a Windows rendszerinformációihoz az alkalmazás folyamataival és szálaival kapcsolatban. |
/mw |
Az összes véglegesített írásvédett magánoldalt hozzáadja a minidumphoz. |
/md |
Hozzáadja a végrehajtható kép összes írási-olvasási adatszegmensét a minidumphoz. |
/mc |
Kódszakaszokat ad hozzá a képeken belül. |
/mr |
Törli a verem minidump részeit, és tárolja a memóriát, amelyek nem használhatók a verem nyomkövetésének újbóli létrehozásához. A helyi változók és az egyéb adattípus-értékek is törlődnek. Ez a beállítás nem teszi kisebbé a minidumpot (a fel nem használt memóriaszakaszok nullázva vannak), de akkor hasznos, ha más alkalmazások adatvédettségi adatait szeretné védeni. |
/mR |
Törli a teljes modul elérési útját a minidumpból. Csak a modulnevek szerepelnek benne. Ez a beállítás akkor hasznos, ha meg szeretné védeni a felhasználó címtárstruktúrájának adatvédelmet. |
Ezeket a kapcsolóbeállításokat kombinálhatja. A parancs .dump /mfiu használatával például létrehozhat egy közepesen nagy méretű minidumpot, amely kiürített és másodlagos memóriát tartalmaz. A parancs használatával .dump /mrR hozzon létre egy minidumpot, amely eltávolítja a felhasználó egyes adatait. A szintaxis részletes leírását a .dump (Dump File létrehozása) című témakörben találja.
Kibocsátási fájl létrehozásához használható eszközök
Több különböző eszközzel is létrehozhat felhasználói módú memóriaképfájlt:
ProcDump
A ProcDump egy parancssori segédprogram, amellyel monitorozhat egy alkalmazást a CPU-csúcsokhoz, és összeomlási memóriaképeket hozhat létre a csúcs során. A rendszergazda vagy a fejlesztő az összeomlási memóriaképfájlokat felhasználva meghatározhatja a kiugró érték okát. A ProcDump a lefagyott ablakok monitorozását is magában foglalja (a Windows és a Task Manager által használt ablaklefagyás definícióját használva) és a kezeletlen kivételeket is. A ProcDump használatával memóriaképeket hozhat létre a rendszerteljesítmény-számlálók értékei alapján. A ProcDump általános folyamatkép-segédprogramként is szolgálhat, amelyet más szkriptekbe is beágyazhat.
A felhasználói módú memóriaképfájl Sysinternals ProcDump segédprogrammal történő létrehozásáról a ProcDump című témakörben olvashat bővebben.
WinDbg és CDB
A konzol hibakeresője (CDB) és a Windows Debugger (WinDbg) a Windows Software Development Kit és a Windows Driver Kit részét képező hibakeresési eszközök. A telepítési lehetőségekről további információt a WinDbg Windows hibakeresőjének letöltése és telepítése című témakörben talál.
A CDB vagy a WinDbg használatával több módon is létrehozhat felhasználói módú memóriaképfájlokat:
- Hozzon létre egy kivonat fájlt automatikusan.
- Hibakereséskor hozzon létre memóriaképfájlokat.
- Meglévő dömpfájl zsugorítása.
Az eszközökkel kapcsolatos további információkért tekintse meg a Windows hibakeresésének és hibakeresésének első lépéseit a CDB használatával.
Memóriaképfájl automatikus létrehozása
Alkalmazáshiba esetén a Windows többféle módon válaszolhat, az utólagos hibakeresési beállításoktól függően. Ha ezek a beállítások egy hibakereső eszközt utasítanak egy memóriaképfájl létrehozására, a rendszer létrehoz egy felhasználói módú memóriaképfájlt. További információért lásd: Engedélyezze a postmortem hibakeresést.
Dömpfájlok létrehozása hibakereséskor
Ha a CDB vagy a WinDbg felhasználómódú alkalmazás hibakeresését használja, a .dump (Create Dump File) paranccsal is létrehozhat egy memóriaképfájlt.
Ez a parancs nem okozza a célalkalmazás leállítását. Adott parancsbeállítások kiválasztásával létrehozhat egy minidump fájlt, amely pontosan a kívánt mennyiségű információt tartalmazza.
Meglévő dömp fájl csökkentése
A CDB vagy a WinDbg használatával zsugorítheti a memóriaképfájlokat. A dömp fájl méretének csökkentéséhez kezdje el egy meglévő dömp fájl hibakeresését. Ezután a .dump paranccsal hozzon létre egy kisebb méretű dömpfájlt.
Időutazás hibakeresése
A felhasználói üzemmódú alkalmazások hibakeresésének másik lehetősége a Time Travel Hibakeresés (TTD). A TTD egy eszköz, a folyamat futás közbeni rögzítésére használható. A hiba megkereséséhez visszajátszhatja a hibakereső munkamenet felvételét. A felvétel különböző részeire könnyen átmehet, hogy megismerje a hibához vezető feltételeket és a probléma megoldásának módját.
A TTD jelentős előnyöket kínál az összeomlási fájlokkal szemben, amelyek gyakran nem tartalmazzák a hibához vezető kódvégrehajtást. A kódvégrehajtás visszafelé történő utazásának képessége hasznos lehet a kiváltó ok meghatározásában.
További információt a Time Travel hibakeresési áttekintésében talál.
Lásd még
- Megtudhatja, hogyan elemezhet felhasználói módú memória-állományokat.
- Tippeket kaphat a memóriaképfájlból származó információk kinyeréséhez.