Összeomlási memória kiíratása. Windows összeomlási memória kiíratása Mit jelent a memória kiíratása?

Ennek a rövid megjegyzésnek az a célja, hogy bemutassa, hogyan konfigurálhatja a rendszert vészhelyzet esetén lerak Windows memória , azaz kritikus hiba bekövetkezése esetén létrehozható dump, amelyet a halál kék képernyőjének (BSOD) megjelenése jellemez. Mi az a szemétlerakó általában, miért van rá szükségünk és mi az, milyen problémákat hivatott megoldani és milyen információkat tartalmaz?

Memóriakiírat – egy folyamat, kernel vagy egész munkamemóriájának tartalma operációs rendszer, amely a munkaterületeken kívül magában foglalja További információ a processzorregiszterek állapotáról, a verem tartalmáról és egyéb szolgáltatási struktúrákról.

Miért lehet szükségünk erre a tartalomra, pl. Windows memória dump? A memóriakiírás talán legáltalánosabb használata a rendszerhiba okainak tanulmányozása (), amely az operációs rendszer teljes leállását okozta. Ezen kívül a memória állapota más célokra is használható. Az is fontos, hogy a memória kiíratása szó szerint az egyetlen módja annak, hogy információt szerezzünk bármilyen meghibásodásról! És a rendszermemória kiíratásának vétele (megszerzése) valójában az egyetlen pontos módszer a tartalom azonnali ujjlenyomatának (másolatának) beszerzésére. fizikai memória rendszerek.

Minél pontosabban tükrözi a dump tartalma a memória meghibásodáskori állapotát, annál részletesebben tudjuk elemezni a vészhelyzetet. Ezért rendkívül fontos a rendszer fizikai memóriájának naprakész másolatának beszerzése a meghibásodást közvetlenül megelőző, szigorúan meghatározott időpontban. Ennek egyetlen módja egy teljes összeomlási dump létrehozása. Az ok meglehetősen triviális - amikor a rendszermemória összeomlása meghibásodás vagy mesterségesen szimulált helyzet eredményeként megtörténik, a rendszer abban a pillanatban, amikor megkapja a vészhelyzeti funkciók vezérlését (KeBugCheckEx) abszolút változatlan (statikus) állapot, ezért a hiba bekövetkezte és az adatok adathordozóra írása között semmi sem változtatja meg a fizikai memória tartalmát, és az eredeti állapotában kerül a lemezre. Nos, ez elméletben van, de az életben is előfordul, de vannak olyan helyzetek, amikor a hibás hardverelemek miatt maga a memóriakiírás megsérülhet, vagy az állomás lefagyhat a kiírás rögzítése közben.

Az esetek túlnyomó többségében attól a pillanattól kezdve, hogy az összeomlási memóriakép létrehozásának folyamata elkezdődik, egészen a memóriatartalom lemezre írásának végéig, a memóriában lévő információk változatlanok maradnak.

Elméletileg a memória „ujjlenyomatának” statikusságát (változhatatlanságát) az magyarázza, hogy a KeBugCheckEx függvény meghívásakor, amely információt jelenít meg a hibáról, és elindítja a memóriakiírás létrehozásának folyamatát, a rendszer már teljesen leáll, és a a fizikai memória tartalma a lapozófájl által a lemezen elfoglalt blokkokra íródik, majd az operációs rendszer ezt követő betöltésekor visszaáll a rendszer adathordozóján lévő fájlba. Nos, szinte egyszer megfigyeltem egy olyan helyzetet, amikor egy hibás alaplap megakadályozta, hogy elmentsem egy memóriakiírást: a) lefagyás a kiíratási mentési logika futása közben (a folyamat nem érte el a 100%-ot), b) a memóriakiíratási fájl károsodása (a hibakereső struktúrákra panaszkodott), c) memória.dmp kiírás írása nulla hosszúságú fájlok. Ezért annak ellenére, hogy a rendszer már teljesen leállt a memóriadump létrehozásakor, és csak a vészhelyzeti kód fut, a hibás hardver kivétel nélkül bármilyen logikát módosíthat a működés bármely szakaszában.
Hagyományosan a kezdeti szakaszban a lapfájlhoz hozzárendelt lemezblokkokat használják a Windows memóriakiíratásának mentésére. Ezután a kék képernyő megjelenése és az újraindítás után az adatok átkerülnek ide külön fájl, majd a fájl átnevezése a kiíratási típustól függő mintával történik. A verziótól kezdve azonban Windows Vista, ez az állapot megváltoztatható, most a felhasználónak lehetősége van a kiválasztott kiíratás elmentésére egy swap fájl részvétele nélkül, a hibáról szóló információkat ideiglenes fájlba helyezve. Ez azért történt, hogy kiküszöböljük a kapcsolódó konfigurációs hibákat helytelen beállítás a lapozófájl mérete és pozíciója, ami gyakran problémákhoz vezetett a memóriakiíratás mentése során.
Nézzük meg, hogy a Windows operációs rendszer milyen típusú dumpokat tesz lehetővé:

  • Folyamat (alkalmazás) memória kiíratása;
  • Kernel memória kiíratása;
  • Teljes memóriakiíratás (a rendszer fizikai memóriájának rendelkezésre álló részének kiíratása).

Minden lerakóhely két fő kategóriába sorolható:

  • Összeomlási kiíratások a történt kivétellel kapcsolatos információkkal. Általában ben készült automatikus üzemmód, amikor kezeletlen kivétel történik az alkalmazásban/kernelben, és ennek megfelelően a rendszer (beépített) hibakeresője meghívható. Ebben az esetben a kivétellel kapcsolatos információk egy kiíratóban kerülnek rögzítésre, ami megkönnyíti a kivétel típusának és helyének meghatározását a későbbi elemzés során.
  • Kivétel nélküli összeomlási dump információk. Általában a felhasználó manuálisan hozza létre, amikor egyszerűen egy pillanatképet kell létrehoznia egy folyamatról a későbbi elemzéshez. Ez az elemzés nem a kivétel típusának meghatározását jelenti, hiszen kivétel nem történt, hanem egy teljesen más jellegű elemzést, például egy folyamat adatszerkezetének tanulmányozását stb.

Kernel memória dump konfigurációja

Be kell jelentkeznie az adminisztrációs területen fiókot az ebben a részben leírt lépések végrehajtásához.

Ugorjunk közvetlenül a Windows összeomlási dump beállításainak konfigurálására. Először is a rendszertulajdonságok ablakba kell lépnünk a következő módok egyikével:

  1. Kattintson Jobb klikk egérrel a "Sajátgép" - "Tulajdonságok" - " ikonra Extra lehetőségek rendszerek" - „Speciális".
  2. "Start" gomb - "Vezérlőpult" - "Rendszer" - "Speciális rendszerbeállítások" - "Speciális".
  3. Billentyűparancs "Windows" + "Szünet" - "Speciális rendszerbeállítások" - "Speciális".

  4. vezérlőrendszer.cpl,3
  5. Futtassa a parancssorban (cmd):
    SystemPropertiesAdvanced

A leírt műveletek eredménye a "Rendszer tulajdonságai" ablak megnyitása és a "Speciális" fül kiválasztása:

Ezután a „Boot and Recovery” részben kattintunk, válassza az „Opciók” lehetőséget, és nyisson meg egy új „Letöltés és helyreállítás” nevű ablakot:

Az összes összeomlási kiíratási paraméter egy "Rendszerhiba" nevű paraméterblokkban van csoportosítva. Ebben a blokkban a következő paramétereket állíthatjuk be:

  1. Események írása a rendszernaplóba.
  2. Hajtsa végre az automatikus újraindítást.
  3. Hibakeresési információk rögzítése.
  4. Dump fájl.
  5. Cseréljen le egy meglévő dump fájlt.

Amint láthatja, a listában szereplő paraméterek közül sok meglehetősen triviális és könnyen érthető. A "Dump File" paramétert azonban szeretném részletesebben kifejteni. A paraméter legördülő listaként jelenik meg, és négy lehetséges értéke van:

Kis memória dump

A kis memóriakiírat (minidump) egy olyan fájl, amely a legkisebb mennyiségű információt tartalmazza a hibáról. Az összes lehetséges memóriakiíratás közül a legkisebb. A nyilvánvaló hátrányok ellenére a minidumpokat gyakran használják információként a meghibásodásról, amelyet harmadik féltől származó illesztőprogram-szállítóknak kell továbbítaniuk későbbi tanulmányozás céljából.
Összetett:

  • Hiba üzenet.
  • Hiba érték.
  • Hibaparaméterek.
  • A processzorkörnyezet (PRCB), amelyen a hiba történt.
  • Folyamatinformációk és kernelkörnyezet (EPROCESS) az összeomló folyamathoz és annak összes szálához.
  • Az összeomlást okozó szál feldolgozási információi és kernelkörnyezete (ETHREAD).
  • A rendszermag módú verem az összeomlást okozó szálhoz.
  • A betöltött illesztőprogramok listája.

Szállás: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Ahol MMDDYY a hónap, nap és év, NN a kirakás sorozatszáma.
Kötet: A méret az operációs rendszer bitségétől függ: a lapozófájlban (vagy a DedicatedDumpFile-ban megadott fájlban) mindössze 128 kilobájt szükséges egy 32 biteshez, és 256 kilobájt egy 64 bites operációs rendszerhez. Mivel ilyen kicsi méretet nem tudunk beállítani, ezért felkerekítjük 1 megabájtra.

Kernel memória kiíratása

Az ilyen típusú kiíratások az összeomlás idején az összes kernelmemória másolatát tartalmazzák.
Összetett:

  • A futó folyamatok listája.
  • Az aktuális szál állapota.
  • Az összeomlás idején a fizikai memóriában található kernel módú memórialapok: kernel módú illesztőprogram-memória és kernel módú programmemória.
  • Hardverfüggő szintű (HAL) memória.
  • A betöltött illesztőprogramok listája.

A kernel memóriakiírásából hiányoznak a le nem osztott memórialapok és a felhasználói mód oldalai. Egyetértünk, nem valószínű, hogy a felhasználói módú folyamatoldalak érdekelnének bennünket a rendszer összeomlása során (BugCheck), mivel a rendszerösszeomlásokat általában a kernel módú kód indítja el.

Méret: Az operációs rendszer által lefoglalt kernelcímtér méretétől és a kernelmódú illesztőprogramok számától függően változik. Általában a fizikai memória körülbelül egyharmada szükséges a swap fájlban (vagy a DedicatedDumpFile fájlban megadott fájlban). Változhat.

Teljes memória kiíratása

A teljes memória kiíratása tartalmazza az összes fizikai memória (RAM) másolatát a hiba idején. Ennek megfelelően a rendszermemória teljes tartalma bekerül a fájlba. Ez egyrészt előny, másrészt jelentős hátrány, mivel a mérete jelentős lehet egyes, nagy mennyiségű RAM-mal rendelkező szervereken.
Összetett:

  • A "látható" fizikai memória összes oldala. Ez szinte a teljes rendszermemória, kivéve a hardver által használt területeket: BIOS, PCI-terület stb.
  • Adatok azokból a folyamatokból, amelyek a rendszeren futottak a hiba idején.
  • A fizikai memória olyan oldalai, amelyek nincsenek leképezve a virtuális címtérre, de segíthetnek a hiba okának kivizsgálásában.

Alapértelmezés szerint a teljes memóriakép nem tartalmazza a BIOS által használt fizikai memóriaterületeket.
Hely: %SystemRoot%\MEMORY.DMP . Az előző kiíratást felülírja.
Kötet: A lapozófájl (vagy a DedicatedDumpFile-ban megadott fájl) a fizikai memória méretével és 257 megabájttal megegyező kötetet igényel (ez a 257 MB egy bizonyos fejlécre + illesztőprogram-adatokra van osztva). Valójában egyes operációs rendszerekben a lapozófájl alsó küszöbértéke pontosan beállítható a fizikai memória méretének értékére.

Automatikus memória dump

Windows 8 óta/ Windows Server 2012-ben egy új "Automatic Memory Dump" nevű kiíratási típust vezettek be a rendszerbe, amely alapértelmezett típusként van beállítva. Ebben az esetben a rendszer maga dönti el, hogy egy adott hiba esetén melyik memóriakiírást rögzítse. Ezenkívül a választás logikája számos kritériumtól függ, beleértve az operációs rendszer „összeomlásának” gyakoriságát.

A Windows memóriakiíratási konfigurációjának módosítása után előfordulhat, hogy újra kell indítania a számítógépet.

Rendszerleíró adatbázis beállításai

A rendszerleíró adatbázis szakasz, amely meghatározza az összeomlási dump paramétereit:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Lehetőségek:

Paraméter típus Leírás
Automatikus újraindítás REG_DWORD Automatikus újraindítás engedélyezése/letiltása BSOD előfordulásakor.
CrashDumpEnabled REG_DWORD A létrehozandó dump típusa.
  • 0 - ne hozzon létre memóriakiíratást;
  • 1 - teljes memóriakép;
  • 2 - kernel memória kiíratása;
  • 3 - kis memória dump;
DumpFile REG_EXPAND_SZ A kernel memória kiíratásának és a teljes memória kiíratásának elérési útja és neve.
DumpFilters REG_MULTI_SZ Illesztőprogram-szűrő a memóriakiíratási illesztőprogram-veremben. Lehetővé teszi új funkciók hozzáadását az összeomlási dumpok létrehozásának szakaszában. Például a dump tartalmának titkosítása. Az érték megváltoztatása nem javasolt.
LogEvent REG_DWORD Esemény rögzítése a rendszernaplóban.
MinidumpDir REG_EZPAND_SZ A kis memóriakép elérési útja és neve.
MinidumpsCount REG_DWORD A kis memóriakiíratok maximális száma. Ha túllépi, a régebbi verziók felülíródnak.
Átír REG_DWORD Cseréljen le egy meglévő dump fájlt. Csak a kernel memória kiíratásához és a teljes memória kiírásához.
IgnorePagefileSize REG_DWORD Figyelmen kívül hagyja a szabványos oldalfájlt, mint ideiglenes (köztes) memóriakiíratási tárolóhelyet. Azt jelzi, hogy a memóriakiírást külön fájlba kell írni. A DedicatedDumpFile opcióval együtt használatos.
DedicatedDumpFile REG_EZPAND_SZ A memóriakiírás rögzítéséhez szükséges ideiglenes alternatív fájl elérési útja és neve. A második lépésben az adatok továbbra is átkerülnek a DumpFile/MinidumpDir mappába.

Memóriakiírás manuális létrehozása

Fentebb leírtuk a beállításokat automatikus létrehozás rendszerösszeomlás kiírja kritikus hiba esetén, vagyis a kernelkódban lévő kezeletlen kivétel esetén. De való élet, az operációs rendszer összeomlása mellett vannak olyan helyzetek, amikor egy adott időpontban rendszermemória-kiíratást kell szerezni. Hogyan lehet ebben az esetben? Vannak módszerek az összes fizikai memória pillanatképének lekérésére, például a .dump paranccsal a WinDbg/LiveKD hibakeresőben. A LiveKD egy olyan program, amely lehetővé teszi a Kd kernel hibakereső futtatását egy futó rendszeren helyi módban. A WinDbg hibakereső is rendelkezik hasonló funkcióval. Az on-the-fly dump módszer azonban nem pontos, mert az ebben az esetben generált dump "inkonzisztens", mivel időbe telik a kiírás létrehozása, és a kernel módú hibakereső használata esetén a rendszer tovább fut és változások a memóriaoldalakon.

Általánosságban elmondható, hogy Önt, mint felhasználót, nem szabadna érdekelnie a memóriakiírás. Ez csak egy rendszerhibával kapcsolatos információ, amelyet ideális esetben el kell küldeni a Microsoft fejlesztőinek, hogy megtalálják és kijavítsák a kritikus hibákat. Ha nem tervez ilyen jótékonysági tevékenységet, akkor letilthatja a szemétlerakást.

A memóriakép letiltása semmilyen módon nem befolyásolja a rendszer teljesítményét. Amikor használja a számítógépet, a rendszer nem fér hozzá a kiíratáshoz, akár be van kapcsolva, akár nem. A rögzítés csak akkor történik meg, ha a Windowst „hozzák” a BSOD-ba ( kék képernyő). Legfeljebb pár másodpercig tart.

A szemétlerakás típusai

Az általános fejlesztéshez ismerkedjünk meg a szemétlerakás típusaival. Három van belőlük: kis lerakó, maglerakó és nagy. Egy kis szeméttároló tárolja a problémával kapcsolatos legfontosabb információkat. A fejlesztőknek szó szerint apránként kell összerakniuk. Egy kis dumphoz 2 MB virtuális memóriát (swap fájlt) kell lefoglalnia.

Maglerakás– a legelterjedtebb szemétlerakás. Ez az opció általában az alapértelmezett. Rögzíti a magnak lefoglalt összes memóriát - a működő illesztőprogramok állapotát és az adatokat hardverfüggő szinten. Ehhez a RAM teljes mennyiségének körülbelül 30% -át kell lefoglalnia. Például, ha 2 GB DDR-vel rendelkezik, akkor körülbelül 700 MB-ot foglaljon le a swap fájl számára.

A teljes kiíratás a RAM teljes tartalmát rögzíti. Ennek megfelelően, hogy működjön, ugyanazt a kötetet kell hozzárendelnie a lapozófájlhoz, mint a RAM-hoz. Teljes kiíratásra van szükség a hibernált módhoz, amikor a RAM-ból minden adat betöltődik a merevlemezre.

A Windows 7 rendszerben a kiíratási paraméterek meglehetősen mélyen el vannak rejtve. Írja be a menü keresősávjába " Rajt"szó" rendszer", Például.

Válassza ki az eredményt" Rendszer" Megnyílik egy ablak. A jobb felső sarokban a lehetőségek listája található, válassza ki az utolsót - " Haladó rendszerbeállítások».


Bármely modern operációs rendszer egy nagyon összetett halmaza különböző szoftver modulok, amelyek együtt működnek különböző kombinációk. Hibákat tartalmazhatnak, vagy ütközhetnek egymással vagy egymással futó program. Ennek eredményeként összeomlik, és a Windows leáll, és a jól ismert „halál kék képernyőjét” mutatja. A Windows 10 memóriakiíratása segít megérteni, miért történt ez, és más verziókban is működik. Alapértelmezés szerint általában nem jönnek létre, ezért engedélyeznie kell őket, és tanulmányozáshoz kell használnia őket speciális programok, amely hasznos információkat nyer ki érthető formában.

Memóriakiírás beállítása.

Lényegében ez egy „pillanatfelvétel” a RAM-ról, annak tartalmáról abban a pillanatban, amikor a hiba bekövetkezett. Ez a tartalom egy külön fájlba van írva, amelyet kiíratnak neveznek. Ennek elemzésével megértheti, hogy mi hibázott, és a program melyik részében fordult elő a probléma. Ha minden normális, és nem történik hiba, a rendszer nem hoz létre fájlokat a memória tartalmával. Ezért ez a funkció semmilyen módon nem befolyásolja a teljesítményt. De megéri megtörténni fatális hiba, ami egy „kék képernyőt” eredményez, amikor egy ilyen fájl létrejön. Ez egy speciális eszköz, amely segít a fejlesztőknek az ilyen problémák megoldásában. Rendszeres felhasználók ezt arra is használhatja, hogy megtudja, mely programok okozzák a rendszer összeomlását. De ne feledje, hogy ehhez bizonyos ismeretekkel kell rendelkeznie a számítógépek működéséről és szoftver, különben ezek az információk teljesen haszontalanok lesznek. A „bekapcsolhatom, gépelhetem, kikapcsolhatom” szintű hétköznapi felhasználó egyszerűen nem fog érteni belőle semmit.

Memóriakiíratások beállítása a Windows hibákhoz

Ha meg szeretné tekinteni és konfigurálni szeretné például a Windows memóriakiíratását, fontolja meg a 7-es verziót – ez továbbra is népszerű. Igen, és más verziókban ez hasonló módon történik. Ehhez kattintson a jobb gombbal a „Sajátgép” ikonra, és válassza a „Tulajdonságok” lehetőséget. Mehet a másik irányba - lépjen a „Vezérlőpultra”, és válassza a „Rendszer” lehetőséget. Mindkét esetben ugyanaz az ablak nyílik meg. Ezután válassza ki a „Speciális rendszerbeállítások” lehetőséget a bal oldalon, és a megjelenő kis ablakban lépjen a „Speciális” fülre. Itt, a „Boot and Recovery” részben kattintson az „Opciók” gombra.

  1. Kis dump - a térfogata mindössze 256 kb, csak a legáltalánosabb információkat rögzítik ott.
  2. Kernel memória kiíratása – az állapot itt kerül rögzítésre különféle programok egy processzormag meghibásodása idején. A fájl mérete a teljes rendelkezésre álló RAM körülbelül 33%-a. Van hasznos információk, amely lehetővé teszi a hiba okának azonosítását, de nincs túl sok belőle.
  3. A teljes dump a teljes RAM másolata, és a fájl mérete megegyezik a kapacitással. Itt bármit megtalálsz, amit csak akarsz. Ilyen dump jön létre a hibernált módba váltáskor is - a RAM teljes tartalmát egyszerűen a merevlemezre menti, és amikor a számítógép be van kapcsolva, ugyanarról a helyről folytatja a munkát.

A Windows újabb verzióiban van egy „Automatikus memóriakiírás” mód - kiválaszthatja, és ez elég lesz. Amint láthatja, a memóriakiírás beállítása a Windows 7 rendszerben nem nehéz. Csak meghibásodások esetén kerül rögzítésre, és semmilyen módon nem befolyásolja a rendszer működését.

Hogyan és mivel lehet megnyitni a memóriaképfájlt

Amikor meghiúsul és létrejön új fájl egy hibabejelentésnél akkor is meg kell valahogy nyitni és megtudni, hogy mi van benne. A fájl dmp kiterjesztésű, de a megnyitáshoz beépített eszközök kényelmetlenek, parancssorból érhetők el. Ezt a fájlt egyébként a rendszer a saját mappájába menti. Hogyan lehet megnyitni egy memóriakiírás fájlt dmp kiterjesztéssel? Különféle segédprogramok léteznek erre, köztük a Microsofttól származó segédprogramok, például a Microsoft Kernel Debuggers. Teljesen ingyenesen letölthető a hivatalos weboldalról, de mérlegelni kell, hogy 32 bites vagy 64 bites verzióra van szükség. Ez a program képes megnyitni a memóriában található memóriaképfájlokat rendszermappaés megtekintheti tartalmukat átirat formájában. Természetesen az információ nagyon specifikus, és szakembereknek szól.

Van egy másik népszerű segédprogram - a BlueScreenView. Nagyon egyszerű és könnyen használható. De a megjelenített információ nem olyan könnyen érthető, de némi technikai tudással ez teljesen lehetséges. A program piros színnel kiemeli a listában a kód azon problémás részeit, amelyek a kék képernyőt okozták, például bizonyos illesztőprogramokat. Ez nagyban leegyszerűsíti az elemzési munkát.

Hogyan lehet törölni egy memóriaképfájlt

Lehetséges egyáltalán eltávolítani őket? Igen, ezek egyszerűen csak szolgáltatási információk további elemzéshez. Ha már megtekintette őket, vagy nincs rájuk szükség, akkor saját maga törölheti őket. egyszerű módon- Kosárba. Ellenkező esetben fokozatosan felhalmozódnak, és sok helyet foglalnak el a merevlemezen, különösen, ha teljes másolatot készítenek véletlen hozzáférésű memória. Természetesen a manuális keresés és ezeknek a fájloknak a törlése nem túl kellemes feladat. Ezért bármilyen lemeztisztító segédprogramot használhat, még a Windowsba beépítettet is, ha bejelöli a „Törlés rendszerfájlokat" Ha működik, az összes kiíratott fájl is törlődik. Maga a rendszer nem használja ezeket a fájlokat, törlésük teljesen biztonságos.

A Windows 8 rendszerben a Microsoft új memóriakiíratást vezetett be – egy automatikus memóriakiíratási lehetőséget. Ez a beállítás alapértelmezés szerint be van állítva az operációs rendszerben. A Windows 10 új típusú dump fájlt vezetett be – az aktív memória kiíratását. Azok számára, akik nem ismerik, a Windows 7-ben kis kiíratást, magkiíratást és teljes magkiíratást kínálunk. Kíváncsi lehet, miért döntött úgy a Microsoft, hogy létrehozza ezt az új memóriakiíratási lehetőséget? Robert Simpkins vezető támogatási mérnök szerint az automatikus memóriakiíratással támogatást hozhat létre a konfigurációs fájlban található „rendszer” oldalhoz.
A lapozófájl-konfiguráció-kezelő rendszer felelős a lapozófájl méretének kezeléséért – ezzel elkerülhető a szükségtelen férőhely vagy lapozófájl mérete. Ezt az opciót elsősorban az SSD-meghajtókon futó PC-knél vezetik be, amelyek általában kisebbek, de hatalmas mennyiségű RAM-mal rendelkeznek.

Memória dump opciók

Az „Automatic memory dump” fő előnye, hogy lehetővé teszi az alrendszer munkamenete számára a folyamatkezelőben, hogy az oldalfájlt automatikusan a RAM méreténél kisebb méretre csökkentse. Azok számára, akik nem ismerik, az alrendszerkezelő munkamenet felelős a rendszer inicializálásáért, az olyan szolgáltatások és folyamatok indítási környezetéért, amelyek szükségesek ahhoz, hogy a felhasználó bejelentkezhessen a rendszerbe. Alapvetően a fájlok oldalát állítja be virtuális memóriaés elindítja a winlogon.exe folyamatot.

Ha módosítani szeretné az automatikus memóriakiíratási beállításokat, a következőképpen teheti meg. Kattintson Windows billentyűk+ X és válassza a - Rendszer lehetőséget. Ezután kattintson a „Speciális rendszerbeállítások - gombra Előleg Rendszer Beállítások”.

Kattintson a Speciális rendszerbeállítások gombra.

Itt láthat egy legördülő menüt, ahol a „Speciális” felirat olvasható.

Itt lehet választani a megfelelő opciót. Javasolt lehetőségek:

Nincs memória dump.
Kis memória dump.
Kernel memória kiíratása.
Teljes memória kiíratása.
Automatikus memória dump. Hozzáadva a Windows 8-hoz.
Aktív memória kiíratása. Hozzáadva a Windows 10-hez.
A memóriakiíratási fájl helye a %SystemRoot%\MEMORY.DMP fájlban található.

Ha használ SSD meghajtó, akkor jobb, ha az „Automatic memory dump”-on hagyja; de ha kell egy crash dump fájl, akkor jobb, ha beállítod "kis memória dump"-ra, azzal ha akarod, el tudod küldeni valakinek, hogy megnézze.

Bizonyos esetekben előfordulhat, hogy a RAM-nál nagyobbra kell növelnie az oldalfájl méretét, hogy elférjen benne egy teljes memóriakiírat. Ilyen esetekben létre kell hoznia egy rendszerleíró kulcsot:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

"LastCrashTime"-nek hívják.

Ez automatikusan megnöveli a swap fájl méretét. Ha később szeretné csökkenteni, egyszerűen eltávolíthatja ezt a kulcsot.

A Windows 10 új kiíratási fájlt vezetett be, az aktív memória kiíratását. Csak a legszükségesebbet tartalmazza, ezért kisebb a mérete.

Nem tudom tesztelni, de létrehoztam ezt a kulcsot, és figyeltem az oldal fájlméretét. Tudom, hogy előbb-utóbb kritikus hibát kapok. Akkor megnézem.

A WhoCrashed segítségével elemezheti a Windows.dmp fájlok memóriakiíratását. A WhoCrashed Home egy ingyenes segédprogram, amely egyetlen kattintással biztosítja a számítógépére telepített illesztőprogramokat. A legtöbb esetben képes azonosítani egy hibás illesztőprogramot, amely problémákat okoz a számítógépben. Ez egy rendszerelemzés összeomlási kiíratása, memóriakiíratása, és az összes összegyűjtött információ elérhető formában megjelenik itt.

A hibakereső eszközkészlet általában egy elemzési összeomlási kiíratot nyit meg. Ezzel a segédprogrammal nincs szüksége tudásra vagy hibakeresési készségekre, hogy megtudja, mely illesztőprogramok okoznak problémákat a számítógépen.

A WhoCrashed a Microsoft hibakereső csomagjára (a windbg programra) támaszkodik. Ha ez a csomag nincs telepítve, a WhoCrashed letölti és automatikusan kicsomagolja ezt a csomagot. Csak futtassa a programot, és kattintson az Elemzés gombra. Ha a WhoCrashed telepítve van a rendszerére, és ha az összeomlik vagy váratlanul bezárul, a program tájékoztatja Önt arról, hogy az összeomlás-dömping engedélyezve van-e a számítógépén, és javaslatokat tesz az engedélyezésére.

Kritikus meghibásodás esetén a Windows operációs rendszer összeomlik, és a Halál kék képernyőjét (BSOD) jelzi. A RAM tartalma és a fellépő hibával kapcsolatos minden információ a lapozófájlba kerül. Legközelebb a Windows rendszerindításaösszeomlási dump jön létre a mentett adatok alapján hibakeresési információkkal. Kritikus hibabejegyzés jön létre a rendszereseménynaplóban.

Figyelem! Nem jön létre összeomlási dump, ha a lemez alrendszer meghibásodik vagy kritikus hiba a Windows rendszerindítás kezdeti szakaszában merült fel.

A Windows összeomlási dumpjainak típusai

Egy jelenlegi műtő példájával Windows rendszerek 10 (Windows Server 2016) nézzük meg a rendszer által létrehozható memóriakiíratok fő típusait:

  • Mini memória dump(256 KB). Ez a fájltípus minimális mennyiségű információt tartalmaz. Csak a BSOD hibaüzenetet tartalmazza, információkat az illesztőprogramokról, az összeomlás idején aktív folyamatokról, valamint arról, hogy melyik folyamat vagy kernelszál okozta az összeomlást.
  • Kernel memória kiíratása. Általában kis méretű – a fizikai memória méretének egyharmada. A kernel memória kiíratása részletesebb, mint a mini dump. Információkat tartalmaz az illesztőprogramokról és a kernel módú programokról, tartalmazza a lefoglalt memóriát Windows kernelés hardver absztrakciós réteg (HAL), valamint az illesztőprogramok és más kernel módú programok számára lefoglalt memória.
  • Teljes memória kiíratása. A legnagyobb méretű, és a rendszer RAM-jával plusz 1 MB memóriát igényel, szükséges Windows ennek a fájlnak a létrehozásához.
  • Automatikus memória dump. Információ tekintetében a kernel memória kiíratásának felel meg. Az egyetlen különbség az, hogy mennyi helyet foglal el a dump fájl létrehozásához. Ez a fájltípus nem létezett a Windows 7 rendszerben. A Windows 8 rendszerben került hozzáadásra.
  • Aktív memória kiíratása. Ez a típus kiküszöböli azokat az elemeket, amelyek nem tudják meghatározni a rendszerhiba okát. Ez hozzáadásra került a Windows 10 rendszerhez, és különösen hasznos, ha használja Virtuális gép, vagy ha rendszere Hyper-V gazdagép.

Hogyan lehet engedélyezni a memória dumpolást a Windows rendszerben?

A Win+Pause használatával nyissa meg a rendszerbeállítások ablakát, válassza a " Haladó rendszerbeállítások"(Haladó rendszerbeállítások). Ban,-ben " Továbbá" (Speciális), "" szakasz (Indítás és helyreállítás) kattintson a " gombra Lehetőségek"(Beállítások). A megnyíló ablakban konfigurálja a rendszer meghibásodása esetén végrehajtandó műveleteket. Ellenőrizd a " Események naplózása a rendszernaplóba" (Esemény írása a rendszernaplóba), válassza ki a rendszer összeomlásakor létrejövő kiíratás típusát. Ha a jelölőnégyzetben " Cserélje le a meglévő dump fájlt"(Bármely meglévő fájl felülírása) jelölje be a négyzetet, a fájl minden hiba esetén felülírásra kerül. Jobb, ha törli a jelölést ebből a négyzetből, akkor több információhoz jut az elemzéshez. Kapcsolja ki az Automatikus újraindítást is.

A legtöbb esetben egy kis memóriakép elegendő a BSOD okának elemzéséhez.

Most, amikor BSOD történik, elemezheti a dump fájlt, és megtalálhatja a hiba okát. A mini dump alapértelmezés szerint a %systemroot%\minidump mappába kerül mentésre. A dump fájl elemzéséhez a program használatát javaslom WinDBG(Microsoft Kernel Debugger).

WinDBG telepítése Windows rendszeren

Hasznosság WinDBG tartalmazza " Windows 10 SDK"(Windows 10 SDK). .

A fájl neve winsdksetup.exe, mérete 1,3 MB.

Futtassa a telepítést, és válassza ki, hogy pontosan mit szeretne tenni – telepítse a csomagot erre a számítógépre, vagy töltse le más számítógépekre való telepítéshez. Telepítsük a csomagot a helyi számítógépre.

Telepítheti a teljes csomagot, de csak a hibakereső eszköz telepítéséhez válassza a lehetőséget Hibakereső eszközök Windowshoz.

A telepítés után a WinDBG parancsikonok a start menüben találhatók.

.dmp fájlok társításának beállítása a WinDBG-vel

A dump fájlok egyszerű kattintással történő megnyitásához rendelje hozzá a .dmp kiterjesztést a WinDBG segédprogramhoz.

  1. Nyisd ki parancs sor rendszergazdaként, és futtassa a parancsokat egy 64 bites rendszerhez: cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    32 bites rendszerhez:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. Ennek eredményeként a .DMP, .HDMP, .MDMP, .KDMP, .WEW fájltípusok hozzá lesznek rendelve a WinDBG-hez.

Hibakeresési szimbólumszerver beállítása a WinDBG-ben

A hibakereső szimbólumok (hibakereső szimbólumok vagy szimbólumfájlok) olyan adatblokkok, amelyek egy program fordítása során keletkeznek a végrehajtható fájllal együtt. Az ilyen adatblokkok változónevekről, úgynevezett függvényekről, könyvtárakról stb. tartalmaznak információkat. Ezekre az adatokra nincs szükség a program futtatásakor, de a hibakeresés során hasznosak. A Microsoft összetevői a Microsoft Symbol Serveren keresztül terjesztett szimbólumokkal vannak összeállítva.

Konfigurálja a WinDBG-t a Microsoft Symbol Server használatához:

  • Nyissa meg a WinDBG-t;
  • Menjen a menübe Fájl –> Szimbólum fájl elérési útja;
  • Írjon egy sort, amely tartalmazza a hibakereső szimbólumok Microsoft webhelyről történő letöltésének URL-címét és a gyorsítótár mentési mappáját: SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols A példában a gyorsítótár letöltése megtörtént. az E:\Sym_WinDBG mappába, bármelyiket jelezheti.
  • Ne felejtse el menteni a menü módosításait Fájl–>Munkaterület mentése;

A WinDBG szimbólumokat keres a helyi mappában, és ha nem találja meg benne a szükséges szimbólumokat, automatikusan letölti a szimbólumokat a megadott webhelyről. Ha saját szimbólummappát szeretne hozzáadni, ezt a következőképpen teheti meg:

SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols;c:\Symbols

Ha nincs internetkapcsolata, először töltse le a szimbólumcsomagot a Windows Szimbólumcsomagok erőforrásból.

A WinDBG összeomlási dump elemzése

A WinDBG hibakereső megnyitja a dump fájlt, és betölti a szükséges szimbólumokat a hibakereséshez helyi mappa vagy az internetről. A folyamat során nem használhatja a WinDBG-t. Az ablak alján (a hibakereső parancssorban) megjelenik az üzenet Debugee nincs csatlakoztatva.

A parancsok az ablak alján található parancssorba kerülnek.

A legfontosabb dolog, amire figyelni kell, a hibakód, amelyet mindig hexadecimálisan jeleznek, és ennek alakja van 0xXXXXXXXXX(az egyik opcióban jelezve - STOP: , 2019.02.07. 0008F, 0x8F). Példánkban a hibakód 0x139.

A hibakereső felajánlja az!analyze -v parancs futtatását, csak vigye az egeret a hivatkozásra, és kattintson. Mire való ez a parancs?

  • Előzetes memóriakiírás-elemzést végez, és biztosítja részletes információk az elemzés megkezdéséhez.
  • Ez a parancs megjeleníti a STOP kódot és a hiba szimbolikus nevét.
  • Az összeomláshoz vezető parancshívások halmazát mutatja.
  • Ezen kívül itt jelennek meg az IP-címek, a folyamat- és regiszterhibák.
  • A csapat kész javaslatokat tud adni a probléma megoldására.

A főbb pontok, amelyekre figyelni kell az!analyze –v parancs végrehajtása utáni elemzéskor (a felsorolás hiányos).

1: kd> !analyze -v


* *
* Hibaellenőrzési elemzés *
* *
*****************************************************************************
A STOP hiba szimbolikus neve (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
A hiba leírása (Egy kernelkomponens megsértett egy kritikus adatszerkezetet. Ez a sérülés lehetővé teheti, hogy a támadó átvegye az irányítást a gép felett):

Egy kernel-összetevő megrongált egy kritikus adatszerkezetet. A korrupció potenciálisan lehetővé teheti egy rosszindulatú felhasználó számára, hogy átvegye az irányítást a gép felett.
Hiba argumentumok:

Érvek:
Arg1: 0000000000000003, A LIST_ENTRY megsérült (azaz dupla eltávolítás).
Arg2: ffffd0003a20d5d0, A hibaellenőrzést okozó kivétel csapdakeretének címe
Arg3: ffffd0003a20d528, a hibaellenőrzést okozó kivétel kivételrekordjának címe
Arg4: 0000000000000000, fenntartva
Hibakeresés részletei:
------------------

A számláló megmutatja, hogy a rendszer hányszor omlott össze hasonló hibával:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

STOP hibakód rövidített formátumban:

BUGCHECK_STR: 0x139

A folyamat, amelynek során a hiba bekövetkezett (nem feltétlenül a hiba oka, csak a hiba időpontjában ez a folyamat futott a memóriában):

PROCESS_NAME: sqlservr.exe

Hibakód Magyarázat: A rendszer verempuffer túlcsordulást észlelt ebben az alkalmazásban, ami lehetővé teheti a támadó számára, hogy átvegye az irányítást az alkalmazás felett.

ERROR_CODE: (NTSTATUS) 0xc0000409 – A rendszer egy veremalapú puffer túlcsordulását észlelte ebben az alkalmazásban. Ez a túllépés lehetővé teheti egy rosszindulatú felhasználó számára, hogy átvegye az irányítást az alkalmazás felett.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 – A rendszer egy veremalapú puffer túlcsordulását észlelte ebben az alkalmazásban. Ez a túllépés lehetővé teheti egy rosszindulatú felhasználó számára, hogy átvegye az irányítást az alkalmazás felett.

Utolsó hívás a veremben:

LAST_CONTROL_TRANSFER: fffff8040117d6a9-ről fffff8040116b0a0-ra

Verem hívása a hiba idején:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`B28:20nt!
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: CheckiisBpatch nt!
FFFD000`3A20D3F0 FFFFF804`0117C150: 0000000000 000000 000000 00000000 000000 00000000 000000`00000000fa:failxd.pat
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`0000006fffff804`0000006f90
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: ?? ::FNODOBFM::`karakterlánc"+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac: 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a20d9d8 ffffe001`0a34c60 ffffe001`0a34c60
ffffd000`3a20d990 fffff804`0117d313: ffffffff`ffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380:64Fintle+0txrite
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`00000000 000000000 000000000000000000 13
000 000 07da

A kód szakasz, ahol a hiba történt:

FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr ,0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: Géptulajdonos

A modul neve a kernel objektumtáblájában. Ha az elemző képes észlelni egy problémás illesztőprogramot, akkor a név megjelenik a MODULE_NAME és IMAGE_NAME mezőben:

MODULE_NAME:nt
IMAGE_NAME: ntkrnlmp.exe

1: kd> lmvm nt
Böngésszen a teljes modullistában
Betöltött szimbólum képfájl: ntkrnlmp.exe
Leképezett memóriaképfájl: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
A kép elérési útja: ntkrnlmp.exe
A kép neve: ntkrnlmp.exe
Belső név: ntkrnlmp.exe
Eredeti fájlnév: ntkrnlmp.exe
TermékVerzió: 6.3.9600.18946
Fájlverzió: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

A megadott példában az elemzés az ntkrnlmp.exe kernelfájlra mutatott. Amikor a memóriadump elemzés azt jelzi rendszer-illesztőprogram(például win32k.sys) vagy egy kernelfájl (mint a példánkban az ntkrnlmp.exe), valószínűleg ez a fájl nem a probléma oka. Nagyon gyakran kiderül, hogy a probléma az eszközillesztőben van, BIOS beállítások vagy a berendezés meghibásodása.

Ha látja, hogy a BSOD miatt következett be harmadik féltől származó sofőr, a neve a MODULE_NAME és az IMAGE_NAME értékekben lesz feltüntetve.

Például:

A kép elérési útja: \SystemRoot\system32\drivers\cmudaxp.sys
Kép neve: cmudaxp.sys

Nyissa meg az illesztőprogram fájl tulajdonságait, és ellenőrizze a verzióját. A legtöbb esetben az illesztőprogramokkal kapcsolatos probléma megoldódik azok frissítésével.



Betöltés...
Top