Jei turite vadinamąjį mėlynas ekranas mirtis sistemoje „Windows 10“ ir esate pasirengęs patekti į nervinę komą, susikaupti ir bandyti išspręsti problemą. Pirmiausia verta pasakyti, kad ši grėsminga žinutė signalizuoja apie kritinį dalyką sistemos klaida. Be to, toli gražu ne visada įmanoma sugauti akimirką ir spėti perskaityti klaidos kodą, kai „Windows“ patenka į mėlyną mirties ekraną ir įrenginys paleidžiamas iš naujo. Iš karto pastebime, kad yra puiki sumašios problemos sprendimus, taip pat mėlyno ekrano priežastis. Šiame straipsnyje mes pabandysime apsvarstyti tikėtinos priežastys mėlyno laimės ekrano pasirodymas, taip pat apie galimi sprendimai Problemos.

Daugeliu atvejų mėlynas mirties ekranas signalizuoja apie BAD_POOL_CALLER - stop 0x000000c2 klaidą. Atvirai kalbant, sunku diagnozuoti šią klaidą, tačiau gali būti, kad pabandysime apibūdinti kitų jūsų veiksmų algoritmą naudodami šios klaidos pavyzdį.

Norėdami teisingai diagnozuoti problemą, pirmiausia turite išanalizuoti specialus failas sistema, vadinama minidump (atminties išmetimas). Tokių failų sukūrimas veda prie sistemos gedimo, be to, jie gali mums pranešti – kas tiksliai lėmė gedimą.

1. Norėdami įjungti tokį automatinį mažos atminties iškrovos įrašymą (pagal numatytuosius nustatymus išjungtas), eikite į kompiuterio ypatybes ir eikite į skyrių " Papildomos parinktys sistemos“ (šis įtraukimas pateikiamas visoms sistemoms, ne tik „Windows 10“):

Paprastai visi minidump failai išsaugomi, kai atsiranda mėlynas mirties ekranas (BSOD), ir juos galite rasti aplanke C:\Windows\Minidump. Pažymėtina, kad failo pavadinime yra Dabartinė data- kada jis buvo sukurtas, todėl daug lengviau nustatyti klaidos datą, ypač turint omenyje, kad tokių failų gali būti ne vienas.

Du būdai, kaip iššifruoti mažos atminties minidump

Pirmas būdas, yra naudoti gana populiarią „BlueScreenView“ priemonę. Ši programa taip pat gali būti gera galimybė analizuoti atminties ištrynimą. Šios priemonės naudojimas yra naudingas norint nustatyti probleminę tvarkyklę.

Be to, jis ypač vertas dėmesio ir tuo, kad juo galima žiūrėti BSOD (mėlynąjį mirties ekraną) tarsi fiksuotame kadre, kaip buvo sugedus sistemai. Jame rodomas gedimo laikas ir data, išsami informacija apie tvarkyklę arba modulį su versija ir Trumpas aprašymas. Be to, programa yra prieinama daugeliu kalbų, įskaitant rusų. Taigi „BlueScreenView“ programa yra tinkama priemonė, jei reikia greitai išanalizuoti atminties iškrovas BSOD metu.

Dėl antrasis metodas turite įdiegti „Windows“ skirtus derinimo įrankius ir atsisiųsti bsdos_utility paslaugų programą. Be to, išpakavę bsdos_utility.cmd scenarijų, turėtumėte perkelti jį į C:\ diską (galite sukurti atskirą aplanką, tačiau atminkite, kad scenarijaus paleidimo adreso eilutė skirsis nuo mūsų pavyzdžio). Tada komandų eilutėje parašykite:

C:\bsdos_utility.cmd

Parodžius visų iškeltų sąrašą iš sąrašo C:\Windows\Minidump\, po kurio scenarijus paklaus, kurį iškrovimą reikia analizuoti. Vykdydami scenarijų taip pat galite patys pasirinkti norimą mini dump:

Tokiu būdu galima aptikti masę Windows klaidos 10, kuris sukėlė BSOD, taip pat problemines .exe programas, kurios sukėlė mėlyną ekraną.

Kitame veiksme pasirenkant komponentus, kuriuos reikia įdiegti ( Pasirinkite funkcijas, kurias norite įdiegti) pažymėkite tik tai, ko mums reikia - Derinimo įrankiai skirta Windows ir paspauskite Diegti

Komunalinių paslaugų rinkinys bus atsisiųstas ir įdiegtas iš interneto į aplanką, nurodytą pirmame ekrane.

Baigę diegti, randame meniu „Pradėti“ arba pradžios ekrane sparčiųjų klavišų grupėje „Windows“ rinkiniai naudingumas windbg ir paleiskite jį administratoriaus teisėmis

Jei dėl kokių nors priežasčių sparčiojo klavišo nepavyko rasti, galite paleisti vykdomąjį failą iš diegimo katalogo - C:\Programų failai (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe

Pagrindiniame programos meniu windbg pasirinkite elementus Failas > Simbolių failo kelias. Atsidariusiame lange įterpkite eilutę, apibrėžiančią leisti į vietinį simbolių talpyklos katalogą ir jo internetinį šaltinį:

SRV*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Išsaugome nustatymus pasirinkę elementus pagrindiniame meniu Failas > Išsaugoti darbo sritį

Atidarykite atminties iškelties failą pasirinkdami iš meniu Failas > Atidarykite „Crash Dump“....

Pasirinkite failą MEMORY.DMP(pagal numatytuosius nustatymus yra C:\Windows kataloge) ir spustelėkite atviras

Bus rodoma informacija, dėl kurio vykdomojo modulio sistema nustojo veikti. Spustelėjus hipersaitą !analizuoti-v galite gauti išsamesnės informacijos apie sistemos būklę stabdymo klaidos metu.

Tą pačią informaciją taip pat galima gauti naudojant komandų eilutę, naudojant maždaug tokią komandų seką:

CD / d" C:\Programų failai (x86)\Windows Kits\8.1\Debuggers\x64\" kd -z "D:\DOWNLOADS\VM05\MEMORY.DMP" .logopen C:\Debuglog.txt .sympath srv*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Šiame pavyzdyje visa iškeltos analizės informacija bus nuskaitoma forma įvesta į failą C:\Debuglog.txt

Informacijos šaltiniai:

Laba diena, mieli kolegos ir tinklaraščio svetainės skaitytojai. Šiandien noriu jums pasakyti, kaip išanalizuoti „Windows 10 Redstone“ atminties sąvartyną. Tai daroma daugeliu atvejų, kai pasirodo mėlynas mirties ekranas su klaida, po kurios kompiuteris paleidžiamas iš naujo. Ir šią analizę padeda suprasti gedimo priežastį.

„Windows 10“ atminties iškrovimo nustatymas

Taigi, kas yra atminties išmetimas „Windows 10 Redstone“ operacinėje sistemoje. Aš jums aprašiau aukščiau bendra priežastis prie kurio atsiranda sistemos atminties išmetimas ir tai yra mėlyni mirties ekranai. Jų atsiradimo priežastys yra labai plačios:

  • Programų nesuderinamumas
  • Vairuotojo nesuderinamumas
  • Nauja windows atnaujinimai
  • Įrenginys nesuderinamas

Tai tik mažas apibendrintas sąrašas, nes mėlynuose ekranuose yra daugybė klaidų kodų, pateiksiu naujausius.

Mūsų užduotis yra rasti šiuos failus diagnostikai ir gebėti juos interpretuoti, kad gautume informacijos apie problemą.

Kur sukonfigūruotas „Windows 10“ strigčių išmetimas?

Pirmiausia išsiaiškinkime, kur yra nustatytas nustatymas, kuris yra atsakingas už „Windows 10“ gedimų atminties išmetimą. Dešiniuoju pelės mygtuku spustelėkite „Windows 10“ pradžios mygtuką ir iš kontekstinis meniu pasirinkite Sistema.

Atsidariusiame sistemos lange esate kairėje viršutiniame kampe pasirinkite Išplėstiniai sistemos nustatymai.

Čia sukonfigūruojamas „Windows 10“ atminties iškrovimas. Spustelėkite nustatymų elementą „Boot and Recovery“.

Iš nustatymų, „Windows 10“ atminties iškrovimo, noriu atkreipti dėmesį į šiuos dalykus:

  • Įvykio įrašymas syslog> čia informacija apie mėlyną ekraną bus įtraukta į žurnalus Operacinė sistema.
  • Bėk automatinis perkrovimas> tęsti po klaidos
  • Rašyti derinimo informaciją > leidžia pasirinkti iškelties failo tipą, daugiau apie tai žemiau.
  • Pakeiskite esamą iškelties failą – tai naudingas žymimasis laukelis, nes šios išklotinės gali sverti dešimtis gigabaitų, todėl tai labai svarbu mažiems ssd diskams.

Atminties išmetimo tipai

Pažiūrėkime, kaip skiriasi derinimo informacijos įrašymo parinktys.

  • Mažas atminties išvestis 256 KB: mažuose atminties išklotinės failuose yra ši informacija:

– lemtingos klaidos pranešimas, jo parametrai ir kiti duomenys;

– pakrautų tvarkyklių sąrašas;

- procesoriaus kontekstas ( PRCB), kurioje įvyko gedimas;

EPROCESAS) už procesą, dėl kurio įvyko klaida;

– apdoroti informaciją ir branduolio kontekstą ( SIŪLAS) už klaidą sukėlusį siūlą;

– klaidą sukėlusios gijos iškvietimo krūva branduolio režimu.

Jis naudojamas, kai turite labai mažai disko talpa ant tavo vietinis diskas. Taip dovanojame Naudinga informacija, kurio gali nepakakti mėlynam ekranui diagnozuoti.

Minidump saugomas kelyje C:\Windows\Minidump

  • Branduolio atminties išrašymas > įrašo tik branduolio atmintį. Priklausomai nuo kompiuterio fizinės atminties kiekio, šiuo atveju ieškos failas reikalauja nuo 50 iki 800 MB arba trečdalis kompiuterio fizinės atminties įkrovos tome.
  • Full memory dump > na, is vardo viskas aisku. Rašo absoliučiai viską, tai maksimali informacija apie mėlyną ekraną, suteikia šimtaprocentinę problemos diagnostiką.

Yra palei kelią C:\Windows\Memory.dmp

  • Aktyvios atminties išmetimas > čia patenka aktyvi pagrindinio kompiuterio atmintis, tai daugiau serverių platformoms skirta funkcija, nes jos gali būti naudojamos virtualizacijai, o kad informacija apie virtualias mašinas nepatektų į sąvartyną, buvo sugalvota ši parinktis.

Šia trumpa pastaba siekiama parodyti, kaip galite sukonfigūruoti sistemą, kad galėtumėte pasinaudoti avarine situacija sąvartynas Windows atmintis , tai yra sąvartynas, kuris gali būti sukurtas kritinio gedimo atveju, kuriam būdingas mėlynas mirties ekranas (BSOD). Kas apskritai yra sąvartynas, kam jis reikalingas ir kas tai yra, kokioms problemoms spręsti jis skirtas ir kokia informacija jame yra?

Atminties išrašas yra proceso, branduolio arba visos operacinės sistemos darbinės atminties turinys, įskaitant, be darbo sričių, Papildoma informacija apie procesorių registrų būseną, dėklo turinį ir kitas paslaugų struktūras.

Kam reikalingas šis turinys, t.y. „Windows“ atminties išmetimas? Galbūt labiausiai paplitęs atminties išmetimas naudojamas sistemos gedimo (), dėl kurio operacinė sistema visiškai sustojo, priežastims ištirti. Be to, atminties būsena gali būti naudojama ir kitiems tikslams. Taip pat svarbu tai, kad atminties išmetimas yra vienintelis būdas gauti informaciją apie bet kokį gedimą! O sistemos atminties iškeldinimo pašalinimas (gavimas) iš tikrųjų yra vienintelis tikslus būdas gauti greitą fizinės sistemos atminties turinio spausdinimą (kopiją).

Kuo tiksliau sąvartyno turinys atspindės atminties būseną gedimo metu, tuo labiau galėsime analizuoti avarinę situaciją. Todėl labai svarbu tiksliai gauti dabartinę fizinės sistemos atminties kopiją tam tikras momentas laikas prieš pat avariją. Ir vienintelis būdas tai padaryti – sukurti visišką avarijos sąvartyną. Priežastis gana nereikšminga – kai dėl gedimo arba dėl dirbtinai sumodeliuotos situacijos įvyksta sistemos atminties gedimas, sistema šiuo momentu, kai gauna avarinių funkcijų valdymą (KeBugCheckEx), yra įjungta. absoliučiai nepakitusi (statinė) būsena, todėl nuo gedimo momento iki to momento, kai duomenys įrašomi į laikmeną, niekas nepakeičia fizinės atminties turinio, o į diską įrašoma pradinė būsena. Na, taip yra teoriškai, bet kartais gyvenime, bet pasitaiko situacijų, kad dėl sugedusių aparatinės įrangos komponentų gali būti pažeista pati atminties iškrova arba stotis gali užšalti įrašymo proceso metu.

Daugeliu atvejų nuo to momento, kai prasideda atminties gedimo iškrovimo procesas, iki to momento, kai atminties turinys įrašomas į diską, atmintyje esanti informacija išlieka nepakitusi.

Teoriškai atminties „pėdsako“ statiškumas (nekintamumas) paaiškinamas tuo, kad iškvietus funkciją KeBugCheckEx, kuri parodo informaciją apie gedimą ir pradeda atminties išvaržos kūrimo procesą, sistema jau yra visiškai sustabdyta ir fizinės atminties turinys įrašomas į blokus, kuriuos diske užima puslapių failas, po kurio, jau vėlesnio operacinės sistemos įkrovos metu, jis iškeliamas į failą sistemos laikmenoje. Na, beveik kartą pastebėjau situaciją, kai nepavyko pagrindinė plokštė neleido išsaugoti atminties išklotinės: a) sustabdė iškelties išsaugojimo logiką veikimo metu (procesas nepasiekė 100%), b) sugadino atminties iškelties failą (debugger prakeiktas struktūras), c) įrašė memory.dmp iškelties failus nulinio ilgio. Todėl, nepaisant to, kad sistema jau buvo visiškai sustabdyta tuo metu, kai buvo sukurtas atminties išmetimas, o veikia tik avarinis kodas, sugedusi aparatinė įranga gali atlikti bet kokios be išimties logikos pakeitimus bet kuriame veikimo etape.
Tradiciškai pradiniame etape norint išsaugoti „Windows“ atminties išklotinę, naudojami disko blokai, priskirti puslapių rinkmenai (pagefile). Tada, kai atsiranda mėlynas ekranas ir įvyksta perkrovimas, duomenys perkeliami į atskirą failą, o tada failas pervadinamas pagal šabloną, atsižvelgiant į iškelties tipą. Tačiau pradedant nuo Windows versijos Vista, ši padėtis gali būti pakeista, dabar vartotojui suteikiama galimybė išsaugoti tam skirtą sąvartyną be apsikeitimo failo įtraukimo, informaciją apie gedimą patalpinti į laikiną failą. Tai buvo padaryta siekiant pašalinti konfigūracijos klaidas, susijusias su neteisingais ieškos failo dydžio ir padėties nustatymais, dėl kurių dažnai kildavo problemų išsaugant atminties iškrovą.
Pažiūrėkime, kokių tipų sąvartynus leidžia sukurti „Windows“ operacinė sistema:

  • Proceso atminties iškrovimas (programa);
  • Branduolio atminties iškrovimas;
  • Visos atminties išmetimas (turimos sistemos fizinės atminties dalies išmetimas).

Visus avarijų sąvartynus galima suskirstyti į dvi pagrindines kategorijas:

  • Avarijų sąvartynai su informacija apie išmestą išimtį. Paprastai sukurtas m automatinis režimas, kai programoje / branduolyje įvyksta neapdorota išimtis ir atitinkamai galima iškviesti sistemos (įtaisytąjį) derintuvą. Tokiu atveju informacija apie išimtį įrašoma į sąvartyną, todėl vėliau atliekant analizę lengviau nustatyti išimties tipą ir įvykio vietą.
  • Informacija apie avarijų sąvartynus be išimties. Paprastai vartotojas sukuria rankiniu būdu, kai reikia sukurti tik momentinę proceso nuotrauką, kad būtų galima vėliau analizuoti. Ši analizė nereiškia išimties tipo nustatymo, nes jokia išimtis nebuvo, o visiškai kitokio pobūdžio analizė, pavyzdžiui, proceso duomenų struktūrų tyrimas ir pan.

Branduolio iškelties konfigūracija

Turite prisijungti kaip administratorius sąskaitą kad atliktumėte šiame skyriuje nurodytus veiksmus.

Pereikime tiesiai prie „Windows“ strigčių iškelties nustatymų konfigūravimo. Pirmiausia turime eiti į sistemos ypatybių langą vienu iš šių būdų:

  1. Spustelėkite dešiniuoju pelės mygtuku spustelėkite pelė ant piktogramos "Mano kompiuteris" - "Ypatybės" - "Išplėstiniai sistemos nustatymai" - "Išplėstinė".
  2. Mygtukas "Pradėti" - "Valdymo skydas" - "Sistema" - "Išplėstiniai sistemos nustatymai" - "Išplėstinė".
  3. Spartusis klavišas "Windows" + "Pauzė" - "Išplėstiniai sistemos nustatymai" - "Išplėstiniai".

  4. valdymo sistema.cpl,3
  5. Vykdykite komandinėje eilutėje (cmd):
    SystemPropertiesAdvanced

Apibūdintų veiksmų rezultatas yra atidaryti langą „Sistemos ypatybės“ ir pasirinkti skirtuką „Išplėstinė“:

Po to skiltyje „Atsisiuntimas ir atkūrimas“ spustelėjame, pasirenkame „Parinktys“ ir taip atidarome naują langą pavadinimu „Atsisiuntimas ir atkūrimas“:

Visi strigčių iškelties nustatymai yra sugrupuoti į nustatymų bloką, vadinamą sistemos gedimu. Šiame bloke galime nustatyti šiuos parametrus:

  1. Įrašykite įvykius į sistemos žurnalą.
  2. Atlikite automatinį paleidimą iš naujo.
  3. Derinimo informacijos įrašymas.
  4. Išrašyti failą.
  5. Pakeiskite esamą iškelties failą.

Kaip matote, daugelis sąrašo parametrų yra gana nereikšmingi ir lengvai suprantami. Tačiau norėčiau plačiau pasilikti ties parametru „Išrašyti failą“. Parametras pateikiamas kaip išskleidžiamasis sąrašas ir galimos keturios vertės:

Mažas atminties išmetimas

Maža atminties išraša (minidump) yra failas, kuriame yra mažiausiai informacijos apie gedimus. Mažiausias iš visų galimų atminties ištvarų. Nepaisant akivaizdžių trūkumų, kaip gedimų informacija dažnai naudojama kaip gedimų informacija, perduodama trečiosios šalies tvarkyklių pardavėjui tolesniam tyrimui.
Junginys:

  • Klaidos pranešimas.
  • Klaidos vertė.
  • Klaidų parinktys.
  • Procesoriaus kontekstas (PRCB), kuris nepavyko.
  • Proceso informacija ir branduolio kontekstas (EPROCESS) procesui, sukeliančiam gedimą, su visomis jo gijomis.
  • Strigtį sukėlusios gijos proceso informacija ir branduolio kontekstas (ETHREAD).
  • Strigtį sukėlusios gijos branduolio režimo krūva.
  • Įkeltų tvarkyklių sąrašas.

Apgyvendinimas: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Kur MMDDYY – atitinkamai mėnuo, diena ir metai, NN – serijos numeris sąvartynas.
Apimtis: dydis priklauso nuo operacinės sistemos bitumo: 32 bitų OS reikia tik 128 kilobaitų, o 64 bitų OS – 256 kilobaitų ieškos faile (arba faile, nurodytame DedicatedDumpFile). Kadangi negalime nustatyti tokio mažo dydžio, suapvaliname jį iki 1 megabaito.

Branduolio atminties iškrovimas

Šio tipo iškeltuvėse yra visos branduolio atminties kopija gedimo metu.
Junginys:

  • Vykdomų procesų sąrašas.
  • Dabartinės gijos būsena.
  • Branduolio režimo atminties puslapiai, esantys fizinėje atmintyje gedimo metu: branduolio režimo tvarkyklės atmintis ir branduolio režimo programos atmintis.
  • Hardware-Aware Layer (HAL) atmintis.
  • Įkeltų tvarkyklių sąrašas.

Branduolio atminties išvestinėje trūksta nepaskirstytų atminties puslapių ir vartotojo režimo puslapių. Sutikite, mažai tikėtina, kad vartotojo režimo proceso puslapiai mus sudomins sistemos gedimo metu (BugCheck), nes paprastai sistemos gedimą inicijuoja branduolio režimo kodas.

Dydis: skiriasi priklausomai nuo branduolio adresų erdvės dydžio, operacinės sistemos paskirstymo ir branduolio režimo tvarkyklių skaičiaus. Paprastai reikia maždaug trečdalio fizinės atminties kiekio apsikeitimo faile (arba faile, kurį nurodo DedicatedDumpFile). Gali skirtis.

Visiškas atminties iškrovimas

Visoje atminties ištrynoje yra visos fizinės atminties (RAM) gedimo metu kopija. Atitinkamai, visas sistemos atminties turinys taip pat patenka į failą. Tai ir privalumas, ir didelis trūkumas, nes kai kuriuose serveriuose, kuriuose yra daug RAM, jo dydis gali būti reikšmingas.
Junginys:

  • Visi „matomos“ fizinės atminties puslapiai. Tai praktiškai visa sistemos atmintis, išskyrus aparatinės įrangos naudojamas sritis: BIOS, PCI erdvę ir kt.
  • Apdorokite duomenis, kurie gedimo metu veikė sistemoje.
  • Fizinės atminties puslapiai, kurie nėra susieti su virtualia adresų erdve, bet gali padėti ištirti gedimo priežastį.

Pagal numatytuosius nustatymus visa atmintis neapima BIOS naudojamų fizinės atminties sričių.
Vieta: %SystemRoot%\MEMORY.DMP . Ankstesnis iškrovimas perrašomas.
Dydis: ieškos failas (arba failas, nurodytas DedicatedDumpFile) reikalauja dydžio, lygaus fizinės atminties dydžiui + 257 megabaitai (šie 257 MB yra padalinti į tam tikrą antraštę + tvarkyklės duomenis). Tiesą sakant, kai kuriose operacinėse sistemose apatinis ieškos failo slenkstis gali būti nustatytas tiksliai pagal fizinės atminties dydžio reikšmę.

Automatinis atminties išmetimas

Pradedant nuo Windows 8/ „Windows Server“. 2012 m. sistemoje buvo įdiegtas naujas iškrovimo tipas, pavadintas „Automatinis atminties išmetimas“, kuris nustatytas kaip numatytasis tipas. Tokiu atveju sistema pati nusprendžia, kurią atminties išvaržą įrašyti tam tikros gedimo situacijoje. Be to, pasirinkimo logika priklauso nuo daugelio kriterijų, įskaitant operacinės sistemos „nukritimo“ dažnį.

Pakeitus „Windows“ atminties iškelties konfigūraciją, gali tekti iš naujo paleisti kompiuterį.

Registro nustatymai

Registro raktas, apibrėžiantis strigčių iškelties parametrus:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Galimybės:

Parametras Tipas apibūdinimas
automatinis paleidimas REG_DWORD Įjungti / išjungti automatinį paleidimą iš naujo, kai įvyksta BSOD.
„CrashDumpEnabled“. REG_DWORD Kuriamo sąvartyno tipas.
  • 0 - nekurkite atminties iškelties;
  • 1 - visiškas atminties iškrovimas;
  • 2 - pagrindinės atminties iškrovimas;
  • 3 - mažas atminties išmetimas;
DumpFile REG_EXPAND_SZ Pagrindinio ir viso sąvartyno kelias ir pavadinimas.
DumpFilters REG_MULTI_SZ Tvarkyklės filtras atminties iškrovimo tvarkyklės krūvoje. Leidžia pridėti naujų funkcijų avarijų sąvartynų kūrimo etape. Pavyzdžiui, šifruoti sąvartyno turinį. Keisti vertės nerekomenduojama.
žurnalo įvykis REG_DWORD Įrašykite įvykį į sistemos žurnalą.
MinidumpDir REG_EZPAND_SZ Mažos atminties išklotinės kelias ir pavadinimas.
MinidumpsCount REG_DWORD Didžiausias mažų atminties išklotinių skaičius. Viršijus senesnės versijos pradedamos perrašyti.
Perrašyti REG_DWORD Pakeiskite esamą iškelties failą. Tik branduolio atminties ištrynimui ir visos atminties ištrynimui.
IgnorePagefileSize REG_DWORD Nepaiso standartinio ieškos failo kaip vietos laikinai (tarpiniam) saugoti atminties iškrovą. Nurodo, kad atminties iškrova turi būti įrašyta į atskirą failą. Naudojamas kartu su DedicatedDumpFile parinktimi.
DedicatedDumpFile REG_EZPAND_SZ Laikinojo kelias ir pavadinimas alternatyvus failasįrašyti atminties sąvartyną. Antruoju būdu duomenys vis tiek bus perkelti į DumpFile/MinidumpDir.

Neautomatinis atminties išklotinės kūrimas

Aukščiau aprašėme nustatymus automatinis kūrimas sistemos gedimas iškeliauja kritinės klaidos atveju, tai yra, kai branduolio kode yra netvarkoma išimtis. Tačiau realiame gyvenime, be operacinės sistemos gedimo, yra situacijų, kai tam tikru momentu reikia gauti sistemos atminties iškrovimą. Kaip tokiu atveju būti? Yra būdų, kaip gauti momentinę visos fizinės atminties kopiją, pavyzdžiui, naudojant komandą .dump WinDbg/LiveKD derinimo priemonėse. LiveKD yra programa, leidžianti paleisti Kd branduolio derinimo priemonę veikiančioje sistemoje vietiniu režimu. „WinDbg“ derinimo priemonė taip pat turi panašią funkciją. Tačiau tiesioginis iškelties gavimo metodas nėra tikslus, nes iškelties sudarymas šiuo atveju yra „nenuoseklus“, nes reikia laiko sukurti išrašymą, o jei naudojamas branduolio režimo deriklis , sistema toliau dirba ir keičia atminties puslapius.

Esant kritiniam gedimui, Windows operacinė sistema nustoja veikti ir rodo mėlyną mirties ekraną (BSOD). Turinys laisvosios kreipties atmintis ir visa informacija apie įvykusią klaidą įrašoma į ieškos failą. Kitame „Windows“ paleidimas pagal išsaugotus duomenis sukuriamas strigčių išvadas su derinimo informacija. Sistemos įvykių žurnale sukuriamas lemtingos klaidos įrašas.

Dėmesio! Sugedus disko posistemiui arba sugedus disko posistemiui, strigčių iškraunama negeneruojama kritinė klaida atsirado pradiniame Windows įkėlimo etape.

„Windows“ gedimų išvadų tipai

Dabartinės veiklos pavyzdžiu Windows sistemos 10 („Windows Server 2016“), pažvelkime į pagrindinius atminties iškrovimo tipus, kuriuos sistema gali sukurti:

  • Mažoji atminties išvestis (maža atminties iškrova)(256 KB). Šio tipo failuose yra minimalus informacijos kiekis. Jame yra tik BSOD klaidos pranešimas, informacija apie tvarkykles, procesus, kurie buvo aktyvūs gedimo metu, ir kuris procesas ar branduolio gija sukėlė gedimą.
  • Branduolio atminties iškrovimas. Paprastai maža, trečdalis fizinės atminties. Branduolio atminties išrašas yra išsamesnis nei mini dump. Jame yra informacija apie tvarkykles ir programas branduolio režimu, yra skirta atmintis Windows branduolys ir aparatinės įrangos abstrakcijos sluoksnis (HAL), taip pat atmintis, skirta tvarkyklėms ir kitoms programoms branduolio režimu.
  • Visiškas atminties iškrovimas. Didžiausias dydis ir jam reikalinga atmintis, lygi jūsų sistemos RAM ir 1 MB, reikalingo Windows šiam failui sukurti.
  • Automatinis atminties išmetimas. Informacijos požiūriu atitinka branduolio atminties iškrovimą. Jis skiriasi tik tuo, kiek vietos sunaudojama iškelto failo kūrimui. Šio tipo failas neegzistavo sistemoje „Windows 7“. Jis buvo pridėtas sistemoje „Windows 8“.
  • Aktyvus atminties išmetimas. Šis tipas filtruoja elementus, kurie negali nustatyti sistemos gedimo priežasties. Tai buvo pridėta prie „Windows 10“ ir yra ypač naudinga, jei naudojate Virtuali mašina, arba jei jūsų sistema yra „Hyper-V“ priegloba.

Kaip įjungti atminties ištrynimo generavimą sistemoje „Windows“?

Naudodami „Win + Pause“, atidarykite sistemos nustatymų langą, pasirinkite „ Papildomi sistemos nustatymai" (Išplėstiniai sistemos nustatymai). Skirtuke " Papildomai" (Išplėstinė), skyrių "" (Paleistis ir atkūrimas), spustelėkite mygtuką " Galimybės» (Nustatymai). Atsidariusiame lange sukonfigūruokite veiksmus sistemos gedimo atveju. Pažymėkite langelį " Įrašykite įvykius į sistemos žurnalą» (Įrašykite įvykį į sistemos žurnalą), pasirinkite iškelties tipą, kuris bus generuojamas, kai sistema užstringa. Jei žymimajame laukelyje " Pakeiskite esamą iškelties failą» (Perrašyti bet kurį esamą failą) pažymėkite langelį, failas bus perrašytas kiekvienos gedimo metu. Geriau atžymėti šį langelį, tada turėsite daugiau informacijos analizei. Taip pat išjunkite automatinį sistemos paleidimą iš naujo (Automatiškai paleisti iš naujo).

Daugeliu atvejų, norint išanalizuoti BSOD priežastį, pakaks nedidelio atminties ištrynimo.

Dabar, jei įvyksta BSOD, galite analizuoti iškelties failą ir rasti gedimų priežastį. Minidump pagal numatytuosius nustatymus saugomas aplanke %systemroot%\minidump. Norėdami išanalizuoti iškelties failą, rekomenduoju naudoti programą WinDBG(„Microsoft“ branduolio derinimo priemonė).

„WinDBG“ diegimas sistemoje „Windows“.

Naudingumas WinDBGįtrauktas į " Windows 10 SDK» (Windows 10 SDK). .

Failas vadinamas winsdksetup.exe, dydis 1,3 MB.

Paleiskite diegimą ir pasirinkite, ar įdiegti paketą šiame kompiuteryje, ar atsisiųsti jį, kad galėtumėte jį įdiegti kituose kompiuteriuose. Įdiekite paketą vietiniame kompiuteryje.

Galite įdiegti visą paketą, bet norėdami įdiegti tik derinimo įrankį, pasirinkite Derinimas Priemonės, skirtos Windows.

Įdiegę „WinDBG“ sparčiuosius klavišus galite rasti pradžios meniu.

.dmp failų susiejimo su WinDBG nustatymas

Norėdami atidaryti iškeltos failus vienu paspaudimu, susiekite .dmp plėtinį su WinDBG programa.

  1. atviras komandinė eilutė kaip administratorių ir paleiskite komandas 64 bitų sistemai: cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    32 bitų sistemai:
    C:\Programų failai (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. Dėl to failų tipai: .DMP, .HDMP, .MDMP, .KDMP, .WEW bus susieti su WinDBG.

Derinimo simbolių serverio nustatymas WinDBG

Derinimo simboliai (derinimo simboliai arba simbolių failai) yra duomenų blokai, sugeneruoti kompiliuojant programą kartu su vykdomuoju failu. Tokiuose duomenų blokuose yra informacija apie kintamųjų pavadinimus, vadinamus funkcijomis, bibliotekomis ir kt. Šių duomenų nereikia vykdant programą, bet praverčia ją derinant. „Microsoft“ komponentai yra sudaryti naudojant simbolius, platinamus per „Microsoft Symbol Server“.

Nustatykite „WinDBG“, kad galėtumėte naudoti „Microsoft Symbol Server“:

  • Atidarykite WinDBG;
  • Eikite į meniu Failas –> Simbolių failo kelias;
  • Parašykite eilutę su URL, skirtu derinimo simbolių atsisiuntimui iš „Microsoft“ svetainės, ir aplanką talpyklos išsaugojimui: SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols Pavyzdyje atsisiunčiama talpykla. į aplanką E:\Sym_WinDBG, galite nurodyti bet kurį.
  • Nepamirškite išsaugoti meniu pakeitimų Failas–>Išsaugoti darbo erdvę;

WinDBG ieškos simbolių vietiniame aplanke ir, jei jame neras reikiamų simbolių, automatiškai atsisiųs simbolius iš nurodytos svetainės. Jei norite pridėti savo simbolių aplanką, galite tai padaryti taip:

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

Jei nėra interneto ryšio, pirmiausia atsisiųskite simbolių paketą iš Windows simbolių paketų šaltinio.

„WinDBG“ gedimų analizė

„WinDBG“ derintuvas atidaro iškelties failą ir iš vietinio aplanko arba iš interneto atsisiunčia reikiamus simbolius derinimui. Šio proceso metu negalite naudoti WinDBG. Lango apačioje (debugger komandinėje eilutėje) pasirodo užrašas Debugee neprijungtas.

Komandos įvedamos į komandų eilutę, esančią lango apačioje.

Svarbiausia atkreipti dėmesį į klaidos kodą, kuris visada nurodomas šešioliktainė reikšmė ir atrodo 0xXXXXXXXXX(nurodyta viename iš variantų - STOP:, 2019-02-07 0008F, 0x8F). Mūsų pavyzdyje klaidos kodas yra 0x139.

Derinimo programa ragina vykdyti komandą analizuoti -v, tiesiog užveskite pelės žymeklį ant nuorodos ir spustelėkite. Kam skirta ši komanda?

  • Ji atlieka preliminarią atminties iškelties analizę ir pateikia Detali informacija pradėti analizę.
  • Ši komanda parodys STOP kodą ir simbolinį klaidos pavadinimą.
  • Tai rodo komandų, dėl kurių įvyko avarija, iškvietimų krūvą.
  • Be to, čia rodomas IP adresas, proceso ir registro gedimai.
  • Komanda gali pateikti paruoštas rekomendacijas, kaip išspręsti problemą.

Pagrindiniai dalykai, į kuriuos turėtumėte atkreipti dėmesį analizuodami, įvykdę komandą !analyze -v (sąrašas nebaigtas).

1: kd> !analyse -v


* *
*Kriktų analizė*
* *
*****************************************************************************
Simbolinis STOP klaidos pavadinimas (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Klaidos aprašymas (branduolio komponentas sugadino svarbią duomenų struktūrą. Dėl šio pažeidimo užpuolikas gali perimti šio įrenginio valdymą):

Branduolio komponentas sugadino svarbią duomenų struktūrą. Sugadinimas gali leisti kenkėjiškam vartotojui valdyti šį įrenginį.
Klaidos argumentai:

Argumentai:
Arg1: 0000000000000003, LIST_ENTRY buvo sugadintas (t. y. dvigubas pašalinimas).
Arg2: ffffd0003a20d5d0, fiksavimo rėmelio adresas išimties, sukėlusios riktą
Arg3: ffffd0003a20d528, išimties, sukėlusios riktą, įrašo adresas
Arg4: 0000000000000000, rezervuota
Derinimo informacija:
------------------

Skaitiklis rodo, kiek kartų sistema sudužo su panašia klaida:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

STOP klaidos kodas sutrumpintu formatu:

BUGCHECK_STR: 0x139

Procesas, kuris užstrigo (nebūtinai klaidos priežastis, tiesiog šis procesas buvo vykdomas atmintyje gedimo metu):

PROCESS_NAME: sqlservr.exe

Klaidos kodo iššifravimas: sistema aptiko dėklo buferio perpildymą šioje programoje, todėl užpuolikas gali perimti šios programos valdymą.

KLAIDOS_KODAS: (NTSTATUS) 0xc0000409 – Sistema aptiko krūvos buferio viršijimą šioje programoje. Šis viršijimas gali leisti kenkėjiškam vartotojui valdyti šią programą.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 – Sistema aptiko krūvos buferio viršijimą šioje programoje. Šis viršijimas gali leisti kenkėjiškam vartotojui valdyti šią programą.

Paskutinis skambutis ant krūvos:

LAST_CONTROL_TRANSFER: iš fffff8040117d6a9 į fffff8040116b0a0

Skambučių krūva gedimo metu:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000KeB28:20d!
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: nt!xkiisBpatch nt!
ffffd000`3a20d3f0 fffff804`0117c150: 00000000`00000000 00000000`00000000 00000000`00000000 00000000 000000000 000000000 000000000 000000000 000000000
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 ffffff804`00000curities!KRahe+F00006
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: ?? ::FNODOBFM::`string"+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac: 00000000`00000004 00000000`00000000
ffffd000`3a20d990 fffff804`0117d313: ffffffff`ffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380:6Fintle+0txrite
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`00000000 000000000 000000000 000000000 000000000 000000000 000000000
000000ee'f25ed2b8 00000000'00000000: 00000000'00000000 00000000'00000000 00000000'00000000

Kodo dalis, kurioje įvyko klaida:

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: mašinos savininkas

Modulio pavadinimas branduolio objektų lentelėje. Jei analizatorius aptiko probleminę tvarkyklę, pavadinimas rodomas laukuose MODULE_NAME ir IMAGE_NAME:

MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

1: kd > lmvm nt
Naršykite visą modulių sąrašą
Įkeltas simbolio vaizdo failas: ntkrnlmp.exe
Susieto atminties vaizdo failas: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Vaizdo kelias: ntkrnlmp.exe
Vaizdo pavadinimas: ntkrnlmp.exe
Vidinis pavadinimas: ntkrnlmp.exe
Originalus failo pavadinimas: ntkrnlmp.exe
Produkto versija: 6.3.9600.18946
Failo versija: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

Aukščiau pateiktame pavyzdyje analizė nurodė branduolio failą ntkrnlmp.exe. Kai atminties iškelties analizė nurodo sistemos tvarkyklę (pavyzdžiui, win32k.sys) arba branduolio failą (pavyzdžiui, ntkrnlmp.exe mūsų pavyzdyje), tai greičiausiai duotą failą nėra problemos priežastis. Labai dažnai paaiškėja, kad problema slypi įrenginio tvarkyklėje, BIOS nustatymai arba įrangos gedimas.

Jei matote, kad BSOD atsirado dėl trečiosios šalies tvarkyklės, jos pavadinimas bus nurodytas MODULE_NAME ir IMAGE_NAME reikšmėse.

Pavyzdžiui:

Vaizdo kelias: \SystemRoot\system32\drivers\cmudaxp.sys
Vaizdo pavadinimas: cmudaxp.sys

Atidarykite tvarkyklės failo ypatybes ir patikrinkite jo versiją. Daugeliu atvejų tvarkyklių problema išsprendžiama jas atnaujinant.