Înregistrarea informațiilor de depanare pentru Windows 10, ce să instalați. Cum să utilizați un dump de memorie pentru a determina driverul care provoacă BSOD. Configurarea unui server de simboluri de depanare în WinDBG

Salutare prieteni, astăzi vom discuta un subiect interesant care vă va ajuta pe viitor când ecran albastru moartea (BSoD).

La fel ca mine, mulți alți utilizatori au fost nevoiți să observe aspectul unui ecran cu un fundal albastru pe care era scris ceva (alb pe albastru). Acest fenomen indică o problemă critică, ca în software, de exemplu, un conflict de driver sau o defecțiune fizică a unei componente ale computerului.

Am avut recent o problemă cu ecranul albastru în Windows 10, dar am scăpat rapid de ea și vă voi spune despre asta în curând.

Deci, majoritatea utilizatorilor nu știu că BSoD poate fi analizat pentru a înțelege mai târziu problemele de eroare critice. Pentru așa Carcase Windows creează fișiere speciale pe disc - le vom analiza.

Există trei tipuri de dump de memorie:

Memorie completă– această funcție vă permite să salvați complet conținutul memorie cu acces aleator. Este rar folosit, deoarece imaginați-vă că aveți 32 GB de RAM, cu un dump complet, tot acest volum va fi stocat pe disc.

Halda de miez– salvează informațiile despre modul kernel.

Mic depozit de memorie– salvează o cantitate mică de informații despre eroare și componente încărcate care erau prezente în momentul în care a apărut defecțiunea sistemului. Vom folosi acest tip de dump pentru că ne va oferi suficiente informații despre BSoD.

Locația atât a depozitului mic, cât și a celui complet este diferită, de exemplu, depozitul mic este situat în următoarea cale: %systemroot%\minidump.

Dump-ul complet este aici: %systemroot%.

Pentru a analiza depozitele de memorie, există diverse programe, dar vom folosi două. Primul este Microsoft Kernel Debuggers, după cum sugerează și numele, un utilitar de la Microsoft. Îl puteți descărca de pe site-ul oficial. Al doilea program este BlueScreenView, un program gratuit, descărcat de aici.

Analizarea unei imagini de descărcare a memoriei utilizând programele de depanare Microsoft Kernel

Pentru versiuni diferite de sisteme, trebuie să descărcați un alt tip de utilitar. De exemplu, pentru 64 de biți sistem de operare, aveți nevoie de un program pe 64 de biți, pentru un program pe 32 de biți - o versiune pe 32 de biți.

Asta nu este tot, trebuie să descărcați și să instalați pachetul de simboluri de depanare necesare programului. Se numește simboluri de depanare. Fiecare versiune a acestui pachet este descărcată și sub un anumit sistem de operare, mai întâi aflați ce sistem aveți, apoi descărcați. Pentru a nu trebui să cauți nicăieri aceste simboluri, aici este linkul de descărcare. Instalarea ar trebui să se facă de preferință în această cale: %systemroot%\symbols.

Acum puteți lansa depanatorul nostru, a cărui fereastră va arăta astfel:

Înainte de a analiza depozitele, vom configura ceva în utilitar. În primul rând, trebuie să spunem programului unde am instalat simbolurile de depanare. Pentru a face acest lucru, faceți clic pe butonul „Fișier” și selectați elementul „Cale fișier simbol”, apoi specificați calea către simboluri.


Programul vă permite să extrageți simboluri direct de pe web, astfel încât nici măcar nu trebuie să le descărcați (scuze celor care le-au descărcat deja). Vor fi preluate de pe un server Microsoft, deci totul este securizat. Deci, trebuie să deschideți din nou „Fișier”, apoi „Calea fișierului simbol” și să introduceți următoarea comandă:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols


Astfel, am indicat programului că simbolurile ar trebui luate din rețea. După ce am făcut acest lucru, faceți clic pe „Fișier” și selectați „Salvare spațiu de lucru”, apoi faceți clic pe OK.

Asta e tot. Am configurat programul în modul corect, acum începem să analizăm depozitele de memorie. În program, apăsați butonul "Fişier", Apoi „Deschideți crash Dump”și selectați fișierul dorit.

Kernel Debuggers va începe să analizeze fișierul și apoi va afișa un rezultat despre cauza erorii.


În fereastra care apare, puteți introduce comenzi. Daca intram !analiza –v, atunci vom obține mai multe informații.

Asta e tot cu acest program. Pentru a opri depanarea, selectați „Depanare” și elementul „Oprire depanare”.

Analizarea unui dump de memorie folosind BlueScreenView

Programul BlueScreenView este, de asemenea, potrivit pentru analiza diferitelor erori și BSoD-uri, are o interfață simplă, deci nu ar trebui să existe probleme cu stăpânirea acestuia.

Descărcați programul din linkul de mai sus și instalați. După lansarea utilitarului, trebuie să-l configurați. Accesați parametrii: „Setări” – „ Opțiuni suplimentare" Se va deschide o fereastră mică cu câteva articole. În primul paragraf, trebuie să indicați locația depozitelor de memorie. Acestea sunt de obicei localizate în calea C:\WINDOWS\Minidump. Apoi faceți clic pe butonul „Implicit”.


Ce poți vedea în program? Avem elemente de meniu, o parte a ferestrei cu numele fișierelor dump și a doua parte a ferestrei – conținutul dump-urilor de memorie.


După cum am spus la începutul articolului, depozitele pot stoca drivere, captura de ecran a „ecranului morții” în sine și alte informații utile care ne pot fi utile.

Deci, în prima parte a ferestrei, unde se află fișierele dump, selectați dump-ul de memorie de care avem nevoie. În următoarea parte a ferestrei ne uităm la conținut. Driverele localizate în stiva de memorie sunt marcate cu culoare roșiatică. Ele sunt tocmai cauza ecranului albastru al morții.

Pe Internet puteți găsi totul despre codul de eroare și driverul care ar putea fi de vină pentru BSoD. Pentru a face acest lucru, faceți clic pe „Fișier”, apoi „Găsiți codul de eroare + Driver în Google”.


Puteți afișa numai driverele care erau prezente în momentul în care a apărut eroarea. Pentru a face acest lucru, faceți clic pe „Setări” – „Modul ferestrei de jos” – „Numai driverele găsite în stiva de blocare”. Sau apăsați tasta F7.

Pentru a afișa captura de ecran BSoD, apăsați F8.

Pentru a afișa toate driverele și fișierele, apăsați F6.

Ei bine, asta-i tot. Acum știți cum să aflați despre problema Ecranului Albastru al Morții și, dacă se întâmplă ceva, găsiți o soluție pe Internet sau pe acest site. Puteți oferi codurile dvs. de eroare și voi încerca să scriu pentru fiecare articol pentru a rezolva problema.

De asemenea, nu uitați să puneți întrebări în comentarii.

Voi continua să vorbesc despre ecranul albastru al morții, în care am început.

Deci, dacă computerul repornește sau îngheață brusc, iar ecranul albastru al morții nu apare sau apare pentru o fracțiune de secundă, atunci informațiile despre cauzele defecțiunii pot fi încă restaurate.

Faptul este că sistemul de operare în momentul eșecului salvează conținutul RAM în așa-numitul fişier dump(are extensie .dmp). Pe viitor, fișierul dump poate fi analizat și obține aceleași informații ca pe ecranul albastru și chiar puțin mai mult.

Dar crearea de depozite poate fi dezactivată în sistem, așa că ar trebui să vă asigurați că, în primul rând, sistemul creează depozite atunci când se blochează și, în al doilea rând, ar trebui să cunoașteți locația de pe disc unde sunt salvate.

Pentru a face acest lucru, trebuie să accesați secțiunea Sistem.

În Windows 10, acest lucru se poate face prin căutare și în Versiuni anterioare sistemul de operare prin Panoul de control.

Aici, înregistrarea evenimentelor în jurnalul de sistem ar trebui să fie activată, dar pentru a împiedica computerul să se repornească automat și să ne arate conținutul ecranului albastru al morții, trebuie să anulați repornirea automată dacă a fost activată.

Calea către dump-uri este de asemenea afișată aici - vedem că dump-ul este salvat în folderul %SystemRoot% - aceasta este desemnarea folderului Windows.

Aici puteți selecta, de asemenea, „small memory dump”, care va fi suficient pentru a căuta coduri de eroare.

Deci, sistemul s-a prăbușit în ecranul albastru al morții, după care a fost creat un dump de memorie.

Pentru analize de gunoi există programe speciale iar unul dintre cele mai populare este utilitarul BlueScreenView.

Programul este foarte ușor de utilizat și nu necesită instalare - descărcați de pe site-ul oficial și dezarhivați-l. În același timp, de pe site-ul oficial puteți descărca un fișier cu care puteți rusifica programul. Pentru aceasta acest fișier va trebui să-l plasați în folderul cu programul dezarhivat.

Dacă, după lansarea programului, depozitele nu sunt afișate, deși sistemul s-a prăbușit în ecranul albastru al morții, atunci ar trebui să mergeți la setările programului și să vă asigurați că calea către depozitele de memorie este specificată corect, adică ar trebui să fie la fel ca în setările sistemului.

După aceasta, trebuie să actualizați informațiile din fereastra programului și vor fi afișate toate depozitele create în sistem. Dacă există mai multe depozite, atunci ne concentrăm pe data eșecului. Selectați descărcarea dorită și apoi va apărea informatii detaliate pe el.

Aici este afișat numele erorii, codul STOP al acesteia cu parametri, iar dacă cauza a fost driverul, atunci în câmpul corespunzător vom găsi numele acesteia.

De asemenea, în partea de jos a ferestrei programului, fișierele care ar putea provoca și eșecul vor fi evidențiate cu roz. Va trebui să ne ocupăm de fiecare dintre ele în ordine. Algoritmul de aici este similar cu cel discutat în postarea anterioară - căutăm o soluție pe Internet și folosim numele fișierului sau codul de eroare ca cheie de căutare.

În acest caz, nu este necesară introducerea manuală a datelor în motorul de căutare. Dacă faceți clic dreapta pe linia de descărcare, atunci de la meniul contextual Puteți selecta un element care vă va permite să găsiți o descriere a acestei probleme în Google.

Puteți alege să căutați pe Google după codul de eroare, după codul de eroare și numele driverului sau după codul de eroare și parametru.

De asemenea, folosind acest utilitar, puteți găsi rapid locația fișierului problematic pe disc.

Uneori se întâmplă ca fișierul care a cauzat problema să aparțină unui program sau joc. După locația fișierului pe disc, puteți determina rapid cărui program sau joc îi aparține.

Ei bine, merită să știți că agenții de curățare par să ștergă depozitele de memorie, așa că dacă utilizați astfel de programe, atunci ar trebui să vă abțineți de la a le folosi în timp ce identificați cauza ecranului albastru al morții.

Și ultima întrebare la care voi răspunde ca parte a acestei note este ce să faci dacă după ce apare ecranul albastru computerul nu mai pornește? Adică computerul îngheață sau este supraîncărcat constant, ceea ce înseamnă că nu există nicio modalitate de a analiza depozitul de memorie.

Răspunsul este logic și simplu - trebuie să creați unitate flash USB bootabilă, cu care puteți „extrage” fișierul dump din hard diskși analizați-l pe alt computer. Pentru a face acest lucru, porniți de pe o unitate flash și pe hard disk-ul computerului din folder Windows sau într-un subdosar minibasculă Găsim fișierul dump, pe care îl copiam pe unitatea flash. Apoi pe alt computer folosind utilitarul BlueScreenView Analizăm depozitul, așa cum este descris în această notă.

În Windows 8, Microsoft a introdus o nouă memorie de descărcare - o opțiune de descărcare automată a memoriei. Această setare este setată implicit în sistemul de operare. Windows 10 a introdus un nou tip de fișier dump - dump memorie activă. Pentru cei care nu știu, în Windows 7 avem dump mic, dump core și dump full core. S-ar putea să vă întrebați de ce Microsoft a decis să creeze acest lucru parametru nou depozit de memorie? Potrivit lui Robert Simpkins, inginer senior de asistență, o descărcare automată a memoriei poate crea suport pentru pagina „sistem” din fișierul de configurare.
Sistemul de gestionare a configurației fișierului de paginare este responsabil pentru gestionarea dimensiunii fișierului de paginare - acest lucru evită spațiul inutil sau dimensiunea fișierului de paginare. Această opțiune este introdusă în principal pentru computerele care rulează pe unități SSD, care tind să fie de dimensiuni mai mici, dar au o cantitate mare de RAM.

Opțiuni de descărcare a memoriei

Principalul avantaj al „Dump automat de memorie” este că va permite sesiunii subsistemului din managerul de procese să reducă automat fișierul de pagină la o dimensiune mai mică decât dimensiunea RAM. Pentru cei care nu știu, sesiunea managerului de subsistem este responsabilă pentru inițializarea sistemului, mediul de pornire pentru serviciile și procesele care sunt necesare pentru ca utilizatorul să se autentifice în sistem. Practic setează pagina de fișiere la memorie virtualași pornește procesul winlogon.exe.

Dacă doriți să modificați setările de descărcare automată a memoriei, iată cum să o faceți. Apăsați tasta Windows + X și selectați - Sistem. Apoi, faceți clic pe butonul „Setări avansate de sistem - Avans Sistem Setări”.

Faceți clic pe butonul Setări avansate de sistem.

Aici puteți vedea un meniu drop-down unde scrie „Avansat”.

Aici puteți selecta opțiunea dorită. Opțiuni sugerate:

Fără depozite de memorie.
Mic depozit de memorie.
Dump memorie kernel.
Dump complet de memorie.
Evacuarea automată a memoriei. Adăugat la Windows 8.
Memorie activă. Adăugat la Windows 10.
Locația fișierului de descărcare a memoriei este în fișierul %SystemRoot%\MEMORY.DMP.

Dacă utilizați unitate SSD, atunci este mai bine să-l lăsați pe „Automatic memory dump”; dar dacă aveți nevoie de un fișier crash dump, atunci este mai bine să îl setați la „small memory dump”, cu el puteți, dacă doriți, să-l trimiteți cuiva pentru ca acesta să-l arunce o privire.

În unele cazuri, poate fi necesar să măriți dimensiunea fișierului de pagină mai mare decât memoria RAM, astfel încât să poată încadra o memorie completă. În astfel de cazuri, trebuie să creați o cheie de registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

se numește „LastCrashTime”.

Acest lucru va crește automat dimensiunea fișierului de swap. Pentru a o reduce mai târziu, puteți elimina pur și simplu această cheie.

În Windows 10 introdus fișier nou dump dump memorie activă. Conține doar elementele esențiale și, prin urmare, are dimensiuni mai mici.

Nu am o modalitate de a-l testa, dar am creat această cheie și am monitorizat dimensiunea fișierului de pagină. Știu că mai devreme sau mai târziu voi primi o eroare critică. Apoi o voi verifica.

Puteți analiza descărcarea de memorie a fișierelor Windows.dmp folosind WhoCrashed. WhoCrashed Home este un utilitar gratuit care oferă drivere care au fost instalate în computer cu un singur clic. În cele mai multe cazuri, poate identifica un driver defect care cauzează probleme computerului dumneavoastră. Acesta este un dump de analiză a sistemului, dumpuri de memorie și toate informațiile colectate sunt prezentate aici într-o formă accesibilă.

De obicei, setul de instrumente de depanare va deschide un dump de analiză. Cu acest utilitar, nu aveți nevoie de cunoștințe sau abilități de depanare pentru a afla care drivere cauzează probleme pe computer.

WhoCrashed se bazează pe un pachet de depanare (programul windbg) de la Microsoft. Dacă acest pachet nu este instalat, WhoCrashed va descărca și extrage automat acest pachet pentru tine. Doar rulați programul și faceți clic pe butonul Analizați. Când aveți WhoCrashed instalat pe sistemul dvs. și dacă se blochează sau se închide în mod neașteptat, programul vă va anunța dacă descărcarea prin blocare este activată pe computer și vă va oferi sugestii despre cum să le activați.

Această scurtă notă își propune să arate cum puteți configura sistemul pentru a primi o urgență Memorie de descărcare Windows, adică un dump care poate fi creat dacă apare o defecțiune critică, caracterizată prin apariția unui ecran albastru al morții (BSOD). Ce este o groapă în general, de ce avem nevoie de ea și ce este, ce probleme se intenționează să rezolve și ce informații conține?

Memory dump - conținutul memoriei de lucru a unui proces, nucleu sau întreg sistem de operare, inclusiv, pe lângă zonele de lucru, Informații suplimentare despre starea registrelor procesorului, conținutul stivei și alte structuri de servicii.

De ce am putea avea nevoie de acest conținut, de exemplu Memorie de descărcare Windows? Poate că cea mai obișnuită utilizare a unui dump de memorie este studierea cauzelor unei defecțiuni a sistemului (), care a determinat oprirea completă a sistemului de operare. Pe lângă aceasta, starea memoriei poate fi folosită și în alte scopuri. De asemenea, este important ca un dump de memorie să fie literal singura cale primiți informații despre orice eșec! Și luarea (obținerea) a unui depozit de memorie de sistem este, de fapt, singura metodă precisă de a obține o amprentă (copie) instantanee a conținutului memoriei fizice a sistemului.

Cu cât conținutul gropii reflectă mai exact starea memoriei la momentul defecțiunii, cu atât vom putea analiza mai detaliat situația de urgență. Prin urmare, este extrem de important să obțineți o copie actualizată a memoriei fizice a sistemului la un moment de timp strict definit, imediat înainte de defecțiune. Și singura modalitate de a face acest lucru este să creați o descărcare completă. Motivul este destul de banal - atunci când are loc o descărcare de blocare a memoriei sistemului, fie ca urmare a unei defecțiuni, fie ca urmare a unei situații simulate artificial, sistemul în acest moment de primire a controlului funcțiilor de urgență (KeBugCheckEx) se află într-un stare absolut neschimbată (statică), prin urmare, între momentul în care apare defecțiunea și momentul în care datele sunt scrise pe suport, nimic nu schimbă conținutul memoriei fizice și sunt scrise pe disc în starea sa originală. Ei bine, acest lucru este în teorie, dar ocazional în viață, dar există situații în care, din cauza componentelor hardware defecte, depozitul de memorie în sine poate fi deteriorat sau stația poate îngheța în timp ce înregistrează descărcarea.

În marea majoritate a cazurilor, din momentul în care începe procesul de creare a unui dump memorie de blocare și până la sfârșitul scrierii conținutului memoriei pe disc, informațiile din memorie rămân neschimbate.

Teoretic, statica (imuabilitatea) „amprentei” memoriei se explică prin faptul că, atunci când este apelată funcția KeBugCheckEx, care afișează informații despre defecțiune și începe procesul de creare a unui dump de memorie, sistemul este deja complet oprit și conținutul memoriei fizice este scris în blocurile ocupate pe disc de fișierul de paginare, după care, în timpul încărcării ulterioare a sistemului de operare, acesta este resetat la un fișier de pe mediul de sistem. Ei bine, aproape o dată am observat o situație în care un defect placa de baza m-a împiedicat să salvez un dump de memorie: a) înghețarea în timp ce logica de salvare a dump rulează (procesul nu a ajuns la 100%), b) deteriorarea fișierului de memorie dump (depanatorul s-a plâns de structuri), c) scrierea memoriei.dmp dump fișiere de lungime zero. Prin urmare, în ciuda faptului că sistemul este deja complet oprit în momentul în care este creată descărcarea memoriei și numai codul de urgență rulează, hardware-ul defect poate face ajustări la orice logică fără excepție în orice stadiu de funcționare.
În mod tradițional, în stadiul inițial, blocurile de disc alocate fișierului de pagină sunt folosite pentru a salva o descărcare de memorie Windows. Apoi, după un ecran albastru și repornire, datele sunt mutate într-un fișier separat, iar apoi fișierul este redenumit folosind un model în funcție de tipul de descărcare. Cu toate acestea, pornind de la versiuni Windows Vista, această stare de lucruri poate fi schimbată acum, utilizatorului i se oferă posibilitatea de a salva un dump selectat fără participarea unui fișier de schimb, plasând informații despre eșec într-un fișier temporar. Acest lucru a fost făcut pentru a elimina erorile de configurare asociate cu setările incorecte ale dimensiunii și poziției fișierului de paginare, ceea ce a dus adesea la probleme în timpul procesului de salvare a unei imagini de memorie.
Să vedem ce tipuri de depozite ne permite sistemul de operare Windows să creăm:

  • Dump-ul memoriei de proces (aplicație);
  • Dump memorie kernel;
  • Dump complet de memorie (dump a porțiunii disponibile din memoria fizică a sistemului).

Toate depozitele de accidentare pot fi împărțite în două categorii principale:

  • Arhivare cu informații despre excepția care a avut loc. Creat de obicei în mod automat, când apare o excepție netratată în aplicație/kernel și, în consecință, depanatorul (încorporat) al sistemului poate fi apelat. În acest caz, informațiile despre excepție sunt înregistrate într-un dump, ceea ce facilitează determinarea tipului de excepție și unde a avut loc în timpul analizei ulterioare.
  • Descarcă informații fără excepție. Creat de obicei manual de utilizator atunci când este necesar să se creeze pur și simplu un instantaneu al unui proces pentru analiza ulterioară. Această analiză nu implică determinarea tipului de excepție, deoarece nu a avut loc nicio excepție, ci o analiză cu totul diferită, de exemplu, studierea structurilor de date ale unui proces și așa mai departe.

Configurația de descărcare a memoriei kernelului

Trebuie să fii autentificat sub administrativ cont pentru a efectua pașii descriși în această secțiune.

Să trecem direct la configurarea setărilor de descărcare prin blocare Windows. Mai întâi, trebuie să mergem la fereastra cu proprietățile sistemului într-unul dintre următoarele moduri:

  1. Faceți clic dreapta pe pictograma „Computerul meu” - „Proprietăți” - „Setări avansate de sistem” - „Avansate”.
  2. Butonul „Start” - „Panou de control” - „Sistem” - „Setări avansate de sistem” - „Avansat”.
  3. Comandă rapidă de la tastatură „Windows” + „Pauză” - „Setări avansate de sistem” - „Avansate”.

  4. sistem de control.cpl,3
  5. Execută în Linie de comanda(cmd):
    SystemPropertiesAdvanced

Rezultatul acțiunilor descrise este să deschideți fereastra „Proprietăți sistem” și să selectați fila „Avansat”:

După aceea, în secțiunea „Pornire și recuperare” facem clic, selectăm „Opțiuni” și, prin urmare, deschidem o nouă fereastră numită „Descărcare și recuperare”:

Toți parametrii crash dump sunt grupați într-un bloc de parametri numit „Eșec de sistem”. În acest bloc putem seta următorii parametri:

  1. Scrieți evenimente în jurnalul de sistem.
  2. Efectuați o repornire automată.
  3. Înregistrarea informațiilor de depanare.
  4. Fișier de descărcare.
  5. Înlocuiți un fișier dump existent.

După cum puteți vedea, mulți dintre parametrii din listă sunt destul de banali și ușor de înțeles. Cu toate acestea, aș dori să detaliez parametrul „Dump File”. Parametrul este prezentat ca o listă derulantă și are patru valori posibile:

Mic depozit de memorie

Un mic dump de memorie (minidump) este un fișier care conține cea mai mică cantitate de informații despre defecțiune. Cea mai mică dintre toate depozitele de memorie posibile. În ciuda dezavantajelor evidente, mini-dump-urile sunt adesea folosite ca informații despre un eșec de a fi transferate către furnizori terți de drivere pentru studii ulterioare.
Compus:

  • Mesaj de eroare.
  • Valoarea erorii.
  • Parametrii de eroare.
  • Contextul procesorului (PRCB) în care a avut loc defecțiunea.
  • Informații de proces și contextul kernelului (EPROCESS) pentru procesul de blocare și toate firele sale.
  • Procesează informațiile și contextul kernelului (ETHREAD) pentru firul de execuție care provoacă blocarea.
  • Stiva de mod kernel pentru firul care a provocat blocarea.
  • Lista driverelor încărcate.

Cazare: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Unde MMDDYY este luna, ziua și respectiv anul, NN este numărul de serie al depozitului.
Volum: Mărimea depinde de bitness-ul sistemului de operare: sunt necesari doar 128 de kiloocteți pentru un sistem de operare pe 32 de biți și 256 de kiloocteți pentru un sistem de operare pe 64 de biți în fișierul de paginare (sau în fișierul specificat în DedicatedDumpFile). Deoarece nu putem seta o dimensiune atât de mică, o rotunjim la 1 megaoctet.

Dump memorie kernel

Acest tip de dump conține o copie a întregii memorie a nucleului la momentul accidentului.
Compus:

  • Lista proceselor care rulează.
  • Starea firului curent.
  • Pagini de memorie în modul kernel prezente în memoria fizică la momentul accidentului: memoria driverului în modul kernel și memoria programului în modul kernel.
  • Memorie la nivel dependent de hardware (HAL).
  • Lista driverelor încărcate.

Din memoria kernel-ului lipsesc paginile de memorie nealocate și paginile modului utilizator. De acord, este puțin probabil ca paginile de proces în modul utilizator să fie de interes pentru noi în timpul unei erori de sistem (BugCheck), deoarece defecțiunea sistemului este de obicei inițiată de codul modului kernel.

Dimensiune: Variază în funcție de dimensiunea spațiului de adrese kernel alocat de sistemul de operare și de numărul de drivere pentru modul kernel. De obicei, aproximativ o treime din memoria fizică este necesară în fișierul swap (sau în fișierul specificat în DedicatedDumpFile). Poate varia.

Descărcarea completă a memoriei

O descărcare completă a memoriei conține o copie a întregii memorie fizice (RAM) la momentul defecțiunii. În consecință, întregul conținut al memoriei sistemului este inclus în fișier. Acesta este atât un avantaj, cât și un dezavantaj major, deoarece dimensiunea sa poate fi semnificativă pe unele servere cu cantități mari de RAM.
Compus:

  • Toate paginile memoriei fizice „vizibile”. Aceasta este aproape întreaga memorie a sistemului, cu excepția zonelor utilizate de hardware: BIOS, spațiu PCI etc.
  • Date de la procesele care rulau pe sistem la momentul defecțiunii.
  • Pagini de memorie fizică care nu sunt mapate la spațiul de adrese virtuale, dar care pot ajuta la investigarea cauzei defecțiunii.

În mod implicit, o descărcare completă a memoriei nu include zone de memorie fizică utilizate de BIOS.
Locație: %SystemRoot%\MEMORY.DMP . Dump-ul anterior este suprascris.
Volum: fișierul de paginare (sau fișierul specificat în DedicatedDumpFile) necesită un volum egal cu dimensiunea memoriei fizice + 257 megaocteți (acești 257 MB sunt împărțiți într-un anumit antet + date driver). De fapt, în unele sisteme de operare, pragul inferior al fișierului de paginare poate fi setat exact la valoarea dimensiunii memoriei fizice.

Evacuarea automată a memoriei

Începând cu Windows 8/Windows Server 2012, în sistem a fost introdus un nou tip de dump numit Automatic Memory Dump, care este setat ca tip implicit. În acest caz, sistemul însuși decide ce dump de memorie să înregistreze în cazul unei anumite defecțiuni. Mai mult, logica alegerii depinde de multe criterii, inclusiv de frecvența „crash-ului” a sistemului de operare.

După ce modificați configurația de descărcare a memoriei Windows, poate fi necesar să reporniți computerul.

Setări registry

Secțiunea de registry care definește parametrii de descărcare în caz de accident:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Opțiuni:

Parametru Tip Descriere
Repornire automată REG_DWORD Activați/dezactivați repornirea automată când apare BSOD.
CrashDump Activat REG_DWORD Tipul de dump care se creează.
  • 0 - nu creați un dump de memorie;
  • 1 - dump complet de memorie;
  • 2 - dump memorie kernel;
  • 3 - depozit de memorie mic;
DumpFile REG_EXPAND_SZ Calea și numele depozitului de memorie kernel și dump-ului complet al memoriei.
DumpFilters REG_MULTI_SZ Filtrul de driver în stiva de drivere de descărcare a memoriei. Vă permite să adăugați noi funcționalități în etapa de creare a depozitelor de blocare. De exemplu, criptarea conținutului depozitului. Modificarea valorii nu este recomandată.
LogEvent REG_DWORD Înregistrarea unui eveniment în jurnalul de sistem.
MinidumpDir REG_EZPAND_SZ Calea și numele micului depozit de memorie.
MinidumpsCount REG_DWORD Numărul maxim de depozite de memorie mici. Când este depășit, versiunile mai vechi încep să fie suprascrise.
Suprascrie REG_DWORD Înlocuiți un fișier dump existent. Numai pentru descărcarea memoriei kernel și descărcarea completă a memoriei.
IgnorePagefileSize REG_DWORD Ignoră fișierul de pagină standard ca loc pentru stocarea temporară (intermediară) a memoriei. Indică faptul că descărcarea memoriei trebuie scrisă într-un fișier separat. Folosit împreună cu opțiunea DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Calea și numele unui fișier alternativ temporar pentru înregistrarea unui depozit de memorie. În a doua trecere, datele vor fi în continuare mutate în DumpFile/MinidumpDir.

Crearea manuală a unui dump de memorie

Mai sus am descris setările pentru crearea automată a depozitelor de blocare a sistemului în cazul unei erori critice, adică o excepție netratată în codul kernelului. Dar în viata reala, pe lângă blocarea sistemului de operare, există situații în care este necesar să obțineți o descărcare a memoriei sistemului la un anumit moment în timp. Cum să fii în acest caz? Există metode pentru obținerea unui instantaneu al întregii memorie fizice, de exemplu folosind comanda .dump în depanatoarele WinDbg/LiveKD. LiveKD este un program care vă permite să rulați depanatorul Kd kernel pe un sistem care rulează în modul local. Depanatorul WinDbg are, de asemenea, o caracteristică similară. Cu toate acestea, metoda dump-ului din mers nu este exactă, deoarece dump-ul generat în acest caz este „inconsecvent”, deoarece este nevoie de timp pentru a genera dump-ul, iar în cazul utilizării depanatorului modului kernel, sistemul continuă să ruleze și să facă modificări ale paginilor de memorie.

Toate sistemele Windows, când este detectată o eroare fatală, efectuează un dump de blocare (instantaneu) a conținutului RAM și îl salvează pe HDD. Există trei tipuri de dump de memorie:

Dump memorie completă – salvează întregul conținut al memoriei RAM. Dimensiunea imaginii este egală cu dimensiunea RAM + 1 MB (antet). Foarte rar folosit, deoarece pe sistemele cu cantități mari de memorie dimensiunea de descărcare va fi prea mare.

Dump memorie kernel – salvează informațiile RAM legate doar de modul kernel. Informațiile despre modul utilizator nu sunt salvate deoarece nu conțin informații despre cauza prăbușirii sistemului. Dimensiunea fișierului de descărcare depinde de dimensiunea memoriei RAM și variază de la 50 MB (pentru sisteme cu 128 MB RAM) la 800 MB (pentru sisteme cu 8 GB RAM).

Mică memorie dump (mini dump) - conține o cantitate destul de mică de informații: un cod de eroare cu parametri, o listă de drivere încărcate în RAM în momentul prăbușirii sistemului etc., dar aceste informații sunt suficiente pentru a identifica driverul defect . Un alt avantaj al acestui tip de dump este dimensiunea mică a fișierului.

Configurarea sistemului

Pentru a identifica driverul care a provocat-o, va fi suficient să folosim un mic dump de memorie. Pentru ca sistemul să salveze un mini dump în timpul unui accident, trebuie să efectuați următorii pași:

Pentru Windows Xp Pentru Windows 7
  1. Calculatorul meu Proprietăți
  2. Accesați fila În plus;
  3. Opțiuni;
  4. În câmp Scrierea informațiilor de depanare alege Dump mic de memorie (64 KB).
  1. Faceți clic dreapta pe pictogramă Calculator din meniul contextual selectați Proprietăți(sau combinația de taste Win+Pauză);
  2. În meniul din stânga, faceți clic pe element Setari de sistem avansate;
  3. Accesați fila În plus;
  4. În câmpul Descărcare și recuperare, trebuie să faceți clic pe butonul Opțiuni;
  5. În câmp Scrierea informațiilor de depanare alege Descarcare de memorie mică (128 KB).

După finalizarea tuturor manipulărilor, după fiecare BSoD un fișier cu extensia .dmp va fi salvat în folderul C:\WINDOWS\Minidump. Vă sfătuiesc să citiți materialul „”. De asemenea, puteți bifa caseta „ Înlocuiți fișierul dump existent" În acest caz, fiecare nou crash dump va fi scris peste cel vechi. Nu recomand să activați această opțiune.

Analizând o descărcare în caz de accident folosind BlueScreenView

Așadar, după ce a apărut Ecranul Albastru al Morții, sistemul a salvat o nouă descărcare a memoriei de blocare. Pentru a analiza depozitul, vă recomand să utilizați programul BlueScreenView. Poate fi descărcat gratuit. Programul este destul de convenabil și are o interfață intuitivă. După instalarea acestuia, primul lucru pe care trebuie să-l faceți este să specificați locația pentru stocarea depozitelor de memorie pe sistem. Pentru a face acest lucru, accesați elementul de meniu „ Opțiuni” și selectați „ AvansatOpțiuni" Selectați butonul radio „ Sarcinădincelca urmare aMini Dumppliant” și specificați folderul în care sunt stocate depozitele. Dacă fișierele sunt stocate în folderul C:\WINDOWS\Minidump, puteți face clic pe „ Mod implicit" Faceți clic pe OK și ajungeți la interfața programului.

Programul este format din trei blocuri principale:

  1. Bloc meniu principal și panou de control;
  2. Blocarea listei de descărcare în caz de accident;
  3. În funcție de parametrii selectați, acesta poate conține:
  • o listă a tuturor driverelor din RAM înainte ca ecranul albastru să apară (în mod implicit);
  • o listă de drivere situate în stiva RAM;
  • captură de ecran BSoD;
  • și alte valori pe care nu le vom folosi.

În blocul listei de depozitare a memoriei (marcat cu numărul 2 în figură), selectați dump-ul care ne interesează și priviți lista de drivere care au fost încărcate în RAM (marcate cu numărul 3 în figură). Driverele care se aflau pe stiva de memorie sunt colorate în roz. Ele sunt cauza BSoD. Apoi, accesați meniul principal al driverului, stabiliți cărui dispozitiv sau program aparțin. În primul rând, acordați atenție fișiere de sistem, deoarece fișierele de sistem sunt încărcate în RAM în orice caz. Este ușor de observat că driverul defect din imagine este myfault.sys. Voi spune că acest program a fost lansat special pentru a provoca o eroare Stop. După identificarea driverului defect, trebuie fie să îl actualizați, fie să îl eliminați din sistem.

Pentru ca programul să afișeze o listă de drivere situate pe stiva de memorie atunci când apare un BSoD, trebuie să mergeți la elementul de meniu „ Opțiuni„click pe meniu” InferiorPanoulModul” și selectați „ NumaiȘoferiiGăsiteÎnGrămadă” (sau apăsați tasta F7) și pentru a afișa o captură de ecran a erorii, selectați „ AlbastruEcranînXPStil” (F8). Pentru a reveni la lista tuturor șoferilor, trebuie să selectați „ ToateȘoferii” (F6).




Top