A kritikus hiba pillanatában a Windows operációs rendszer megszakítja és megjeleníti a halál kék képernyőjét (BSOD). A RAM tartalmát és a bekövetkező hibával kapcsolatos összes információt az oldalfájl rögzíti. A Windows következő indításakor egy összeomlás dump jön létre a hibakeresési információkkal a mentett adatok alapján. A rendszer eseménynaplójában létrejön egy kritikus hibarekord.
Vigyázat! Nem hoz létre vészmentőt, ha a lemezes alrendszer meghibásodik, vagy kritikus hiba fordul elő a Windows indításának kezdeti szakaszában.Tartalom:
- A Windows összeomlási tippek típusai
- A memórialerakók létrehozásának engedélyezése a Windows rendszerben?
- A WinDBG telepítése Windows rendszerre
- .Dmp fájlok társítása a WinDBG-vel
- A hibakeresési szimbólumkiszolgáló konfigurálása a WinDBG alkalmazásban
- Összeomlás-elemzés a WinDBG-ben
A Windows összeomlási tippek típusai
Például a jelenlegi Windows 10 operációs rendszer (Windows Server 2016) használatával vegye figyelembe a memóriaelemek fő típusait, amelyeket a rendszer létrehozhat:
- Mini memória dump (256 KB) Az ilyen típusú fájl minimális mennyiségű információt tartalmaz. Csak a BSOD hibaüzenetet, információkat az illesztőprogramokról, az összeomlás idején aktív folyamatokról és arról, hogy melyik folyamat vagy kernelszál okozta az összeomlást.
- Kernel memória dump. Általános szabály, hogy kicsi - a fizikai memória egyharmada. A kernel memória dump sokkal pontosabb, mint egy mini dump. Információkat tartalmaz a kernel módú illesztőprogramokról és programokról, magában foglalja a Windows kernelhez hozzárendelt memóriát és a hardveres absztrakciós réteget (HAL), valamint az illesztőprogramokhoz és más programokhoz rendelt memóriát a kernel módban.
- Teljes memória kiürítés. A legnagyobb a térfogata, és memóriát igényel, amely megegyezik a rendszer RAM-jával és 1 MB-val, ami a Windows számára szükséges a fájl létrehozásához.
- Automatikus memória dump. Információ szempontjából megfelel a memória törlésének. Csak abban különbözik, hogy mennyi helyet használ a dump fájl létrehozásához. Ez a fájltípus nem létezett a Windows 7 rendszerben. A Windows 8 rendszerhez hozzáadta..
- Aktív memória dump. Ez a típus kiszűri azokat az elemeket, amelyek nem tudják meghatározni a rendszerhibát. Ezt hozzáadta a Windows 10 rendszerhez, és különösen akkor hasznos, ha virtuális gépet használ, vagy ha a rendszer Hyper-V gazdagép..
A memórialerakók létrehozásának engedélyezése a Windows rendszerben?
A Win + Pause használatával nyisson meg egy ablakot a rendszerparaméterekkel, válassza a "További rendszerparaméterek"(Speciális rendszerbeállítások). A lapon"emellett"(Haladó), szakasz"Töltse le és állítsa vissza"(Indítás és helyreállítás) kattintson"paraméterek"(Beállítások). A megnyíló ablakban konfigurálja a műveletet rendszerhiba esetén. Jelölje be a négyzetet"Írjon eseményeket a rendszernaplóba"(Írjon eseményt a rendszernaplóba) válassza ki a dump típusát, amelyet a rendszer összeomlásakor kell létrehozni. Ha a jelölőnégyzetben"Cserélje ki a meglévő dump fájlt"(Bármely létező fájl felülírása) jelölőnégyzetet, minden fájl összeírásakor felülírja. A jobb jelölést törölni, ha törli a jelölőnégyzetet, akkor további információval rendelkezik elemzésére. Kapcsolja ki az automatikus rendszerindítást is (Automatikus újraindítás)..
A legtöbb esetben egy kis memórialeírás elegendő a BSOD okának elemzéséhez..
Most, amikor BSOD jelentkezik, elemezheti a dump fájlt és megtalálhatja a hiba okát. Az alapértelmezett mini dump a% systemroot% \ minidump mappába kerül mentésre. A dump fájl elemzéséhez javaslom a program használatát windbg (Microsoft Kernel Debugger).
A WinDBG telepítése Windows rendszerre
hasznosság windbg szerepel a "Windows 10 SDK"(Windows 10 SDK). Töltse le itt..
A fájl neve winsdksetup.exe, méret 1,3 MB.
A WinDBG Windows7 és korábbi rendszerekhez a "Microsoft Windows SDK Windows 7 és .NET Framework 4" csomagban található. Töltse le itt.Futtassa a telepítést, és válassza ki, mit kell tennie - telepítse a csomagot erre a számítógépre, vagy töltse le más számítógépekre történő telepítéshez. Telepítse a csomagot a helyi számítógépre.
Telepítheti a teljes csomagot, de csak a hibakeresési eszköz telepítéséhez válassza a lehetőséget Hibakeresési eszközök Windows rendszerhez.
A telepítés után a WinDBG hivatkozások megtalálhatók a Start menüben.
.Dmp fájlok társítása a WinDBG-vel
A dump fájlok egyszerű kattintással történő megnyitásához társítsa a .dmp kiterjesztést a WinDBG segédprogrammal.
- Nyisson meg egy parancssort rendszergazdaként, és futtassa a 64 bites rendszer parancsoit:
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 - Ennek eredményeként a .DMP, .HDMP, .MDMP, .KDMP, .WEW fájltípusok hozzárendelésre kerülnek a WinDBG fájlhoz..
A hibakeresési szimbólumkiszolgáló konfigurálása a WinDBG alkalmazásban
A hibakeresési szimbólumok (hibakeresési szimbólumok vagy szimbólumfájlok) olyan adatblokkok, amelyeket egy program futtatható fájlkal történő összeállításakor generálnak. Az ilyen blokkok információkat tartalmaznak a változónevekről, az úgynevezett függvényekről, könyvtárakról stb. Ezekre az adatokra nincs szükség a program futtatásakor, hanem hasznosak a hibakereséskor. A Microsoft összetevői a Microsoft Symbol Server rendszeren keresztül terjesztett karakterekkel fordulnak elő.
Konfigurálja a WinDBG-t a Microsoft Symbol Server használatához:
- Nyissa meg a WinDBG;
- Lépjen a menübe fájl -> Szimbólum fájl elérési útja;
- Írj egy sort, amely tartalmaz egy URL-t a hibakeresési szimbólumok letöltéséhez a Microsoft webhelyéről, és egy mappát a gyorsítótár mentéséhez:
SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols
A példában a gyorsítótár betöltésre kerül az E: \ Sym_WinDBG mappába, bármilyen megadható. - Ne felejtse el menteni a változtatásokat a menübe. fájl -> Munkaterület mentése;
A WinDBG karaktereket keres a helyi mappában, és ha nem találja meg a szükséges karaktereket, akkor a karaktereket önmagában tölti le a megadott webhelyről. Ha hozzá szeretné adni a saját mappát szimbólumokkal, akkor ezt megteheti:
SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols; c: \ Symbols
Ha nincs internetkapcsolat, akkor először töltse le a szimbólumcsomagot a Windows Symbol Packages erőforrásból..
Összeomlás-elemzés a WinDBG-ben
A WinDBG hibakeresõ megnyit egy dump fájlt, és letölt egy helyi mappából vagy az internetrõl a hibakereséshez szükséges szimbólumokat. Ebben a folyamatban a WinDBG nem használható. Az ablak alján (a hibakereső parancssorában) jelenik meg A Debugee nincs csatlakoztatva.
A parancsok az ablak alján található parancssorba kerülnek.
A legfontosabb dolog, amelyre figyelni kell, a hibakód, amelyet mindig hexadecimálisan jelölnek, és amelynek formája van 0xXXXXXXXX (az egyik opcióban meg van jelölve - STOP: 0x0000007B, 2012. 07. 07. 0008F, 0x8F). Példánkban a 0x139 hibakódot.
A teljes hiba útmutató itt található..A hibakereső felajánlja a parancs futtatását! Elemezze -v, vigye az egérmutatót a link fölé, és kattintson. Mire szolgál ez a parancs??
- Előzetes elemzést végez egy memóriahiányról, és részletes információkat nyújt az elemzés megkezdéséhez..
- Ez a parancs megjeleníti a stop kódot és a hiba szimbolikus nevét..
- Egy halom parancshívást mutat, amelyek összeomláshoz vezettek..
- Ezen felül itt jelennek meg az IP-cím, a folyamat és a regisztrációs hibák..
- A csapat kész javaslatokat adhat a probléma megoldására..
A fő pontok, amelyekre figyelni kell a! Analyse -v parancs futtatása után végzett elemzés során (a felsorolás hiányos).
1: kd> !elemezni -v
************************************************** ***************************
* * *
* Hibaellenőrzés *
* * *
************************************************** ***************************
A STOP hiba szimbolikus neve (BugCheck)KERNEL_SECURITY_CHECK_FAILURE (139)
A hiba leírása (A kernel összetevő megrongálta a kritikus adatszerkezetet. Ez a károsodás potenciálisan lehetővé teheti a támadó számára a gép irányítását):
A kernel összetevő megrongálta a kritikus adatszerkezetet. A sérülés a rosszindulatú felhasználók számára lehetővé teheti a gép irányítását.
A hiba érvei:
érvek:
Arg1: 0000000000000003, A LIST_ENTRY megsérült (azaz kettős eltávolítás).
Arg2: ffffd0003a20d5d0, A csapdakeret címe a kivétel miatt, amely a hibát ellenőrizte
Arg3: ffffd0003a20d528, a hibajavítást okozó kivétel kivételének címe
Arg4: 0000000000000000, fenntartva
Hibakeresési részletek:
------------------
A számláló azt mutatja meg, hogy hányszor ütközött a rendszer egy hasonló hibára:
CUSTOMER_CRASH_COUNT: 1
Az áramkimaradás fő kategóriája:
DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY
STOP hibakód rövidítve:
BUGCHECK_STR: 0x139
A folyamat, amelynek végrehajtása során a hiba bekövetkezett (nem feltétlenül a hiba oka, csak a memória meghibásodásának idején ez a folyamat volt végrehajtva):
PROCESS_NAME: sqlservr.exe
CURRENT_IRQL: 2
A hibakód visszafejtése: Ebben az alkalmazásban a rendszer verempuffer túlcsordulást észlelt, amely lehetővé teszi a támadó számára, hogy az alkalmazás felett ellenőrzést szerezzen..
ERROR_CODE: (NTSTATUS) 0xc0000409 - A rendszer verem-alapú puffer túllépését észlelte ebben az alkalmazásban. Ez a túllépés a rosszindulatú felhasználók számára lehetővé teheti az alkalmazás irányítását.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - A rendszer verem-alapú puffer túllépését észlelte ebben az alkalmazásban. Ez a túllépés a rosszindulatú felhasználók számára lehetővé teheti az alkalmazás irányítását.
Utolsó hívás a veremben:
LAST_CONTROL_TRANSFER: a fffff8040117d6a9-től a fffff8040116b0a0-ig
A hívás verem a hiba idején:
STACK_TEXT:
ffffd000'3a20d2a8 fffff804'0117d6a9: 00000000'00000139 00000000'00000003 ffffd000'3a20d5d0 ffffd000'3a20d528: nt! KeBugCheckEx
ffffd000'3a20d2b0 fffff804'0117da50: ffffe000'f3ab9080 ffffe000'fc37e001 ffffd000'3a20d5d0 fffff804'0116e2a2: nt! KiBugCheckDispatch + 0x69
ffffd000'3a20d3f0 fffff804'0117c150: 00000000'0000000000000000'00000000 00000000'00000000 00000000'00000000: nt! KiFastFailDispatch + 0xd0
ffffd000'3a20d5d0 fffff804'01199482: ffffc000'701ba270 ffffc000'00000001 000000ea'73f68040 fffff804'000006f9: nt! KiRaiseSecurityCheckFailure + 0x3d0
ffffd000'3a20d760 fffff804'014a455d: 00000000'00000001 ffffd000'3a20d941 ffffe000'fcacb000 ffffd000'3a20d951: nt! ?? :: FNODOBFM :: 'string' + 0x17252
ffffd000'3a20d8c0 fffff804'013a34ac: 00000000'00000004 00000000'00000000 ffffd000'3a20d9d8 ffffe001'0a34c600: nt! IopSynchronousServiceTail + 0x379
ffffd000'3a20d990 fffff804'0117d313: ffffffff'fffffffe 00000000'00000000 00000000'00000000000000eb'a0cf1380: nt! NtWriteFile + 0x694
ffffd000'3a20da90 00007ffb'475307da: 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000: nt! KiSystemServiceCopyEnd + 0x13
000000ee'f25ed2b8 00000000'00000000: 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000: 0x00007ffb'475307da
A kód azon része, ahol a hiba történt:
FOLLOWUP_IP:
nt! KiFastFailDispatch + d0
fffff804'0117da50 c644242000 mov byte ptr [rsp + 20h], 0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt! KiFastFailDispatch + d0
FOLLOWUP_NAME: MachineOwner
A modul neve a kernelobjektumban. Ha az analizátor észlelte a problémameghajtót, akkor a név jelenik meg a MODULE_NAME és az IMAGE_NAME mezőben:
MODULE_NAME: nt
KÉP_NAME: ntkrnlmp.exe
Ha rákattint a modul linkre (nt), akkor részletes információkat fog látni a modul elérési útjáról és egyéb tulajdonságairól. Keresse meg a megadott fájlt és tanulmányozza annak tulajdonságait.
1: kd> lmvm nt
Keresse meg a teljes modullistát
Betöltött szimbólum képfájl: ntkrnlmp.exe
Leképezett memória képfájl: C: \ ProgramData \ dbg \ sym \ ntoskrnl.exe \ 5A9A2147787000 \ ntoskrnl.exe
Kép elérési útja: ntkrnlmp.exe
A kép neve: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
TermékVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)
A fenti példában az elemzés az ntkrnlmp.exe kernelfájlra mutatott. Amikor egy memóriamentési elemzés rendszermeghajtóra (például Win32k.sys) vagy kernelfájlra (például az ntkrnlmp.exe példánkban) mutat, valószínűleg nem ez a fájl okozza a problémát. Gyakran kiderül, hogy a probléma az eszközillesztőben, a BIOS-beállításokban vagy a hardverhibában rejlik.
Ha látta, hogy a BSOD harmadik fél illesztőprogramja miatt történt, akkor a nevét a MODULE_NAME és IMAGE_NAME értékekben kell feltüntetni..
Például:
Kép elérési útja: \ SystemRoot \ system32 \ drivers \ cmudaxp.sys
A kép neve: cmudaxp.sys
Nyissa meg az illesztőprogram fájl tulajdonságait és ellenőrizze annak verzióját. A legtöbb esetben az illesztőprogramokkal kapcsolatos problémát azok frissítésével oldják meg..