Kleine geheugendump. Geheugendumpbestanden lezen die Windows maakt voor foutopsporing. Hoe registersleutels en paginabestanden te automatiseren

Fouten komen heel vaak voor in Windows OS, zelfs in het geval van een “schoon” systeem. Als veelvoorkomende fouten programma's kunnen worden opgelost (er verschijnt een bericht over een ontbrekend onderdeel), waarna het oplossen van kritieke fouten veel moeilijker zal zijn.

Wat is een geheugendump in Windows

Om problemen met het systeem op te lossen, wordt meestal een crash-geheugendump gebruikt - dit is een foto gedeeltelijk of volledig volume RAM en het op een niet-vluchtig medium (harde schijf) plaatsen. Met andere woorden: de inhoud van het RAM-geheugen wordt geheel of gedeeltelijk naar de media gekopieerd en de gebruiker kan de geheugendump analyseren.

Er zijn verschillende soorten geheugendumps:

Kleine puinhoop(Small Memory Dump) – bespaart een minimale hoeveelheid RAM, die informatie bevat over kritieke fouten (BSoD) en componenten die zijn geladen tijdens de werking van het systeem, bijvoorbeeld stuurprogramma's en programma's. MiniDump wordt opgeslagen in het pad C:\Windows\Minidump.

Volledige puinhoop(Complete Memory Dump) – de volledige hoeveelheid RAM wordt opgeslagen. Dit betekent dat de bestandsgrootte gelijk is aan de hoeveelheid RAM. Als er weinig schijfruimte is, zal het problematisch zijn om bijvoorbeeld 32 GB te besparen. Er zijn ook problemen met het maken van een geheugendumpbestand groter dan 4 GB. Dit type zeer zelden gebruikt. Opgeslagen in C:\Windows\MEMORY.DMP.

Dumpen kernelgeheugen– alleen informatie met betrekking tot de systeemkern wordt opgeslagen.

Wanneer de gebruiker de fout gaat analyseren, hoeft hij alleen maar minidamp (kleine dump) te gebruiken. Maar daarvoor moet het worden ingeschakeld, anders wordt het probleem niet herkend. Om een ​​crash effectiever te kunnen identificeren, verdient het gebruik van een momentopname van het volledige geheugen de voorkeur.

Informatie in het register

Als je ernaar kijkt Windows-register, dan kun je er een paar vinden nuttige parameters foto's. Klik op de Win+R-toetscombinatie en voer de opdracht in regedit en open de volgende filialen:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

In deze tak vindt de gebruiker de volgende parameters:

  • Automatisch opnieuw opstarten– het opnieuw opstarten na het maken in- of uitschakelen blauw scherm overlijden (BSoD).
  • Dumpbestand– naam van dumptypes en locatie.
  • CrashDumpEnabled- nummer aangemaakt bestand, bijvoorbeeld het getal 0 – er wordt geen dump gemaakt; 1 – het creëren van een volledige dump; 2 – het creëren van een kerndump; 3 – het creëren van een kleine puinhoop.
  • DumpFilters– Met deze optie kunt u nieuwe functies toevoegen voordat u een momentopname maakt. Bijvoorbeeld bestandsversleuteling.
  • MinidumpDir– de naam van de kleine stortplaats en de locatie ervan.
  • LogGebeurtenis– activering van opname-informatie in het systeemlogboek.
  • MinidumpsCount– stel het aantal kleine dumps in dat moet worden gemaakt. (Als dit aantal wordt overschreden, worden oude bestanden vernietigd en vervangen).
  • Overschrijven– functie voor een volledige of systeemdump. Wanneer u een nieuwe foto maakt, wordt de vorige altijd vervangen door een nieuwe.
  • Toegewijd DumpFile- Creatie alternatief bestand afbeelding en een indicatie van het pad.
  • NegeerPagefileSize– gebruikt voor tijdelijke snapshotlocatie, zonder gebruik van een wisselbestand.

Hoe werkt dit

Als er een fout optreedt, stopt het systeem zijn werking volledig en, als dumpen actief is, wordt het naar een bestand op schijf geschreven. informatie over het probleem dat zich heeft voorgedaan. Als er iets met de fysieke componenten is gebeurd, zal een noodcode werken en zal de hardware die faalt enkele wijzigingen aanbrengen, die zeker tot uiting zullen komen in de momentopname.

Meestal wordt het bestand opgeslagen op een harde schijfblok dat is toegewezen aan het wisselbestand. Nadat een BSoD verschijnt, wordt het bestand overschreven in het type dat de gebruiker zelf heeft geconfigureerd (klein, volledig of kerndump). Hoewel in moderne besturingssystemen de deelname van het wisselbestand niet noodzakelijk is.

Hoe dumps in te schakelen

IN Windows 7:

IN Windows 8 en 10:

Hier is het proces een beetje vergelijkbaar, u kunt op dezelfde manier toegang krijgen tot de systeeminformatie als in Windows 7. Zorg ervoor dat u in "Tien" " Deze computer", klik op vrije ruimte rechtermuisknop en selecteer “ Eigenschappen" Een andere manier om daar te komen is via het Configuratiescherm.

Tweede optie voor Windos 10:


Opgemerkt moet worden dat er in nieuwe versies van Windows 10 nieuwe items zijn verschenen die niet in de "zeven" stonden:

  • Kleine puinhoop geheugen 256 KB - minimale foutgegevens.
  • Actieve dump– verscheen in de tiende versie van het systeem en slaat alleen op actief geheugen computer, systeemkernel en gebruiker. Aanbevolen voor gebruik op servers.

Hoe een dump te verwijderen

Ga gewoon naar de map waar de geheugensnapshots zijn opgeslagen en verwijder ze eenvoudig. Maar er is een andere manier om het te verwijderen: met behulp van het hulpprogramma Schijfopruiming:

Als er geen items zijn gevonden, zijn de dumps mogelijk niet ingeschakeld.

Zelfs als u ze eenmaal hebt ingeschakeld, kunnen sommige hulpprogramma's voor systeemoptimalisatie die u gebruikt dit eenvoudig doen schakel bepaalde functionaliteit uit. Vaak worden er veel dingen uitgeschakeld met behulp van SSD schijven, aangezien herhaalde lees- en schrijfprocedures de gezondheid van de schijf ernstig schaden.

Geheugendumpanalyse met WinDbg

Downloaden vanaf de officiële Microsoft-website dit programma in stap 2, waar het wordt beschreven “ InstallatieWDK" - https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk.

Om met het programma te kunnen werken, hebt u ook een speciaal pakket met foutopsporingssymbolen nodig. Het heet Debuggen van symbolen, voorheen kon het worden gedownload van de Microsoft-website, maar nu hebben ze dit idee verlaten en zullen ze de functie moeten gebruiken Bestandsprogramma's — « Symboolbestandspad", waar moet ik invoeren volgende regel en klik op OK:

stel _NT_SYMBOL_PATH=srv*DownstreamStore*https://msdl.microsoft.com/download/symbols in

Als het niet werkt, probeer dan deze opdracht:

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

Klik nogmaals op "Bestand" en selecteer de optie "Werkruimte opslaan".

Het hulpprogramma is geconfigureerd. Het enige dat overblijft is het opgeven van het pad naar de geheugendumpbestanden. Om dit te doen, klikt u op Bestand en klikt u op de optie “ OpenCrashDumpen" De locatie van alle stortplaatsen wordt aan het begin van het artikel aangegeven.

Na selectie eindigt de analyse en wordt het problematische onderdeel automatisch gemarkeerd. Om te ontvangen meer informatie in hetzelfde venster kunt u de volgende opdracht invoeren: !analyseren –v

Analyse met BlueScreenView

U kunt de tool gratis downloaden van deze site - http://www.nirsoft.net/utils/blue_screen_view.html. Voor de installatie zijn geen vaardigheden vereist. Alleen gebruikt op Windows 7 en hoger.

Wij starten en configureren. Klik op “Opties” – “ Extra opties "(Geavanceerde opties). Selecteer het eerste artikel " Laad MiniDumps vanuit deze map"en geef de map aan - C:\WINDOWS\Minidump. Hoewel u eenvoudig op de knop "Standaard" kunt klikken. Klik op OK.

De dumpbestanden zouden in het hoofdvenster moeten verschijnen. Het kan één of meerdere zijn. Om het te openen, klikt u er gewoon op met de muis.

Onderaan het venster worden de componenten weergegeven die actief waren op het moment van de fout. De persoon die verantwoordelijk is voor het ongeval wordt rood gemarkeerd.

Klik nu op “Bestand” en selecteer bijvoorbeeld het item “ Vind in Google foutcode + stuurprogramma" Indien gevonden vereiste chauffeur, installeer uw computer en start deze opnieuw op. Misschien zal de fout verdwijnen.

Tijdens het overleg met klanten merkte ik dat ze vaak de enige manier het bestrijden van het Blue Screen of Death (BSoD) is het oplossen van problemen via het STOP-foutnummer. Deze aanpak kan doorgaans helpen bij het kiezen van een algemene richting voor het oplossen van het probleem, maar laat niet altijd toe dat dit wordt gelokaliseerd. Bepaal bijvoorbeeld welk specifiek apparaatstuurprogramma de BSoD veroorzaakt. Strikt genomen is het analyseren van geheugendumps de belangrijkste methode om met STOP-fouten om te gaan.

Wanneer er een STOP-fout optreedt Microsoft Windows kan foutopsporingsinformatie vastleggen. Om dit te doen, moet u het volgende doen:

1. Klik op de knop Begin en selecteer uit het menu Instellingen paragraaf Configuratiescherm
2. Dubbelklik op het pictogram Systeem
3. Open een tabblad Aanvullend en druk op de knop
4. In de omgeving Dossier foutopsporingsinformatie selecteer artikel Kleine geheugendump (64 KB)

Het kleine geheugendumpbestand neemt op minimale informatie, zodat u de oorzaak van de computerstoring kunt achterhalen. Om dit aan te doen opstartvolume Er is een wisselbestand van minimaal 2 MB vereist. Standaard worden kleine geheugendumpbestanden opgeslagen in de map %SystemRoot%\Minidump.

Kleine geheugendumpbestanden bevatten de volgende informatie:

  • Fatale foutmelding, de parameters en andere gegevens
  • Lijst met gedownloade stuurprogramma's
  • De processorcontext (PRCB) waarop de fout heeft plaatsgevonden
  • Procesinformatie en kernelcontext (EPROCESS) voor het proces dat de fout heeft veroorzaakt
  • Verwerk informatie en kernelcontext (ETHREAD) voor de thread die de fout heeft veroorzaakt
  • Kernelmodusaanroepstack voor de thread die de fout heeft veroorzaakt

Het voordeel van een klein geheugendumpbestand is dat het klein formaat. Momenteel wordt de hoeveelheid RAM die in computers is geïnstalleerd gemeten in gigabytes, dus het opslaan van een bestand van deze omvang zal duren voor een lange tijd en kan problemen veroorzaken in besloten ruimtes harde schijf. Aan de andere kant kunt u met de beperkte informatie in het kleine dumpbestand niet altijd fouten detecteren die niet rechtstreeks werden veroorzaakt door de thread die actief was toen ze zich voordeden.

Hulpprogramma's worden gebruikt om geheugendumps te analyseren kd.exe En windbg.exe. Deze hulpprogramma's zijn opgenomen in de foutopsporingsprogramma's voor Windows. Om het werken ermee te vereenvoudigen, raad ik aan een script (van Alexander Suhovey) te gebruiken. Je hebt het hulpprogramma ook nodig reg.exe(opgenomen in Microsoft Windows XP en hoger; voor Windows 2000, opgenomen in de ondersteuningsprogramma's van Windows 2000).

Download het archief met het script en pak het uit in een map D:\KDFE. Om te kunnen functioneren heeft de debugger symbolische bestanden nodig, die vanaf dezelfde plek kunnen worden gedownload. Hulpmiddelen voor foutopsporing voor Windows. De totale pakketgrootte van deze bestanden is behoorlijk indrukwekkend (kan meer dan 1 GB bedragen, afhankelijk van het gekozen platform). Daarom is het script geconfigureerd om automatisch alleen de benodigde symboolbestanden van Microsoft Symbol Server te downloaden om met een specifieke geheugendump te werken en deze lokaal op schijf op te slaan voor later gebruik. Indien nodig kunt u het script bewerken en de variabele wijzigen smbpad, wat verwijst naar de map waar kd.exe de benodigde bestanden zal opslaan.

Om dit te gebruiken, voert u kdfe.cmd uit met de naam van het geheugendumpbestand als parameter. Bijvoorbeeld:

D:\KDFE>kdfe mini111208-01.dmp

"D:\KDFE\Mini111208-01.dmp" wordt geanalyseerd, een ogenblik geduld... Klaar.

Crashdatum: wo 12 november 08:35:56.214 2008 (GMT+2)
Stop foutcode: 0x50
Procesnaam: AUM.exe
Waarschijnlijk veroorzaakt door: nv4_disp.dll (nv4_disp+41213)

Opgemerkt moet worden dat er situaties zijn waarin, als gevolg van onjuiste bediening een van de chauffeurs, bij een volledig normale chauffeur treedt vervolgens een STOP-fout op. In dit geval raad ik aan het hulpprogramma te gebruiken verifier.exe(cm.

Ik weet zeker dat het heel erg is groot aantal mensen die computers gebruiken weten heel goed wat een blauw scherm is, BSoD-fout of scherm van de dood. Maar tegelijkertijd weet ik zeker dat bijna niemand weet dat het systeem naast het weergeven van een fout op het scherm ook een aanvullend rapport achterlaat in de vorm dump-bestand A. Met zijn hulp kunt u eenvoudig bepalen wat precies de systeemstoring en het verschijnen van een blauw scherm veroorzaakt.

Daarom wil ik het nu over deze bestanden hebben, of beter gezegd over hoe en hoe een dumpbestand te openen, zodat we zonder problemen en snel het probleem met het BSoD-scherm niet alleen konden identificeren, maar ook konden overwinnen.

Open dumpbestanden om de oorzaak van het probleem te achterhalen

In feite worden dumpbestanden meestal nauwkeurig benaderd systeembeheerders die computers en laptops repareert. Maar soms zelfs het meest gewone gebruikers die eenvoudigweg zelf proberen hun besturingssysteem te herstellen.

Om het dumpbestand te bekijken hebben we natuurlijk nodig hulpprogramma van derden, aangezien dit helaas in onze eigen werkingsmiddelen zit Windows-systemen, werd de mogelijkheid om dumpbestanden te openen voor analyse niet geboden door Microsoft-ontwikkelaars.

Maar ondanks het feit dat Windows standaard geen vooraf geïnstalleerde hulpprogramma's heeft voor het bekijken van dumpbestanden, heeft Microsoft toch een programma uitgebracht met de naam Debugging Tools for Windows, maar naar mijn mening is het niet erg handig. Daarom besloot ik te laten zien hoe je een dumpbestand kunt openen met een ander eenvoudiger en zeker niet minder handig programma met titel BlueScreenView.

U vraagt ​​zich misschien af ​​waarom dit specifieke programma en niet een ander? Ja, je hebt gelijk, er zijn voldoende soortgelijke hulpprogramma's. Maar toen ik voor het eerst met dumps begon te werken, was dit mijn eerste programma waarmee ik een dumpbestand opende en het blauwe schermprobleem oploste. En omdat het mij in alles beviel, gebruik ik het nog steeds.

Hoe DUMP-bestanden te openen en te bekijken met BlueScreenView

Dus laten we downloaden BlueScreenView en voer het uit op de computer. Een van de voordelen van waarom ik dit hulpprogramma heb gekozen om dumpbestanden te bekijken, is trouwens dat het niet op de computer hoeft te worden geïnstalleerd, omdat het draagbaar is, waardoor je BlueScreenView kunt uitvoeren zonder pre-installatie naar de computer.

Welnu, wanneer u het programma start, verschijnt de hulpprogramma-interface waarin u onmiddellijk alle mogelijke dumpbestanden kunt zien die eerder op de computer zijn opgeslagen. Of beter gezegd, degenen die in de map staan C:\Windows\MiniDump, dat oorspronkelijk specifiek bedoeld was voor het opslaan van dit type bestanden. De standaardinstelling in BlueScreenView is dus het zoeken naar dumpbestanden in deze map. Indien gewenst of nodig kunt u dit pad wijzigen door eenvoudig op het eerste pictogram te klikken, dat zich naast het opslagpictogram bevindt.

Maar laten we terugkeren naar de geopende dumprapporten. Op het hoofdscherm ziet u informatie over wanneer het bestand is aangemaakt, op welk tijdstip, en uiteraard korte informatie direct over de foutcodes.

Door te dubbelklikken op een van de geselecteerde bestanden kunt u meer krijgen gedetailleerde informatie over de oorzaak van de storing van het besturingssysteem. U ontdekt bijvoorbeeld welk stuurprogramma het blauwe scherm heeft veroorzaakt, evenals de naam van de fabrikant van het stuurprogramma, de versie ervan, enz.

U begrijpt misschien niets van dit rapport, maar het ware doel van dit artikel is dat u, in het geval van een blauw scherm, aan de hand van een duidelijk voorbeeld een dumpbestand kunt openen en een screenshot van het rapport kunt maken, en ik , op zijn beurt, zou je helpen erachter te komen.

Deze korte notitie is bedoeld om te laten zien hoe u het systeem kunt configureren om in geval van nood te kunnen optreden dumpen Windows-geheugen , dat wil zeggen een dump die kan worden gemaakt als er een kritieke fout optreedt, gekenmerkt door het verschijnen van een blue screen of death (BSOD). Wat is een dump in het algemeen, waarom hebben we het nodig en wat is het, welke problemen moet het oplossen en welke informatie bevat het?

Geheugendump ( geheugendump) - inhoud werkgeheugen proces, kernel of het gehele besturingssysteem, inclusief, naast werkgebieden, aanvullende informatie over de status van de processorregisters, de inhoud van de stapel en andere servicestructuren.

Waarom hebben we deze inhoud nodig, d.w.z. Windows-geheugendump? Misschien wel het meest voorkomende gebruik van een geheugendump is het bestuderen van de oorzaken van een systeemfout (), waardoor het besturingssysteem volledig stopte. Daarnaast kan de geheugenstatus voor andere doeleinden worden gebruikt. Het is ook belangrijk dat een geheugendump letterlijk de enige manier is om informatie over een eventuele storing te verkrijgen! En het nemen (verkrijgen) van een systeemgeheugendump is in feite de enige nauwkeurige methode om direct een vingerafdruk (kopie) te verkrijgen van de inhoud van het fysieke geheugen van het systeem.

Hoe nauwkeuriger de inhoud van de dump de toestand van het geheugen weergeeft op het moment van de storing, des te gedetailleerder kunnen we de noodsituatie analyseren. Daarom is het uiterst belangrijk om op een strikte manier een daadwerkelijke kopie van het fysieke geheugen van het systeem te verkrijgen bepaald moment tijd onmiddellijk voorafgaand aan de storing. En de enige manier om dit te doen is door een volledige crashdump te creëren. De reden is vrij triviaal: wanneer er een crashdump van het systeemgeheugen optreedt, hetzij als gevolg van een storing of als gevolg van een kunstmatig gesimuleerde situatie, bevindt het systeem zich op het moment dat het de controle over de noodfuncties ontvangt (KeBugCheckEx). absoluut ongewijzigde (statische) toestand. Tussen het moment waarop de fout optreedt en het moment waarop de gegevens naar de media worden geschreven, verandert er dus niets aan de inhoud van het fysieke geheugen en worden deze in de oorspronkelijke staat naar de schijf geschreven. Nou ja, dit is in theorie, maar af en toe in het leven, maar er zijn situaties waarin, als gevolg van defecte hardwarecomponenten, de geheugendump zelf beschadigd kan raken, of het station vastloopt tijdens het opnemen van de dump.

In de overgrote meerderheid van de gevallen blijft de informatie in het geheugen ongewijzigd, vanaf het moment dat het proces van het creëren van een crash-geheugendump begint tot het einde van het schrijven van de geheugeninhoud naar de schijf.

Theoretisch wordt de statische (onveranderlijkheid) van de "vingerafdruk" van het geheugen verklaard door het feit dat wanneer de KeBugCheckEx-functie wordt aangeroepen, die informatie over de fout weergeeft en het proces van het maken van een geheugendump start, het systeem al volledig is gestopt en de De inhoud van het fysieke geheugen wordt geschreven naar blokken die op de schijf worden bezet door het wisselbestand, waarna deze tijdens het daaropvolgende laden van het besturingssysteem wordt gereset naar een bestand op de systeemmedia. Nou ja, bijna één keer heb ik een situatie waargenomen waarin er een defect was moederbord verhinderde mij een geheugendump op te slaan: a) bevriezing terwijl de logica voor het opslaan van de dump actief was (het proces bereikte niet de 100%), b) het beschadigen van het geheugendumpbestand (de debugger klaagde over structuren), c) het schrijven van een memory.dmp-dump bestanden met een lengte nul. Ondanks het feit dat het systeem al volledig is gestopt op het moment dat de geheugendump wordt gemaakt en alleen de noodcode actief is, kan defecte hardware in elk stadium van de werking zonder uitzondering aanpassingen aan elke logica aanbrengen.
Traditioneel, op beginfase Om een ​​Windows-geheugendump op te slaan, worden schijfblokken gebruikt die aan het wisselbestand zijn toegewezen. Nadat er een blauw scherm verschijnt en opnieuw is opgestart, worden de gegevens vervolgens verplaatst apart bestand, en vervolgens wordt de naam van het bestand gewijzigd met behulp van een patroon, afhankelijk van het dumptype. Echter, vanaf versie Windows Vista, deze stand van zaken kan worden gewijzigd nu de gebruiker de mogelijkheid krijgt om een ​​geselecteerde dump op te slaan zonder de deelname van een wisselbestand, waarbij informatie over de fout wordt geplaatst tijdelijk bestand. Dit werd gedaan om configuratiefouten die daarmee gepaard gaan te elimineren onjuiste instelling de grootte en positie van het wisselbestand, wat vaak tot problemen leidde tijdens het opslaan van een geheugendump.
Laten we eens kijken welke soorten dumps we met het Windows-besturingssysteem kunnen maken:

  • Proces (applicatie) geheugendump;
  • Kernelgeheugendump;
  • Volledige geheugendump (dump van het beschikbare gedeelte van het fysieke geheugen van het systeem).

Alle crashdumps kunnen in twee hoofdcategorieën worden onderverdeeld:

  • Crashdumps met informatie over de opgetreden uitzondering. Meestal gemaakt in automatische modus, wanneer er een onverwerkte uitzondering optreedt in de applicatie/kernel en dienovereenkomstig de (ingebouwde) debugger van het systeem kan worden aangeroepen. In dit geval wordt informatie over de uitzondering vastgelegd in een dump, waardoor het gemakkelijker wordt om tijdens de daaropvolgende analyse het type uitzondering te bepalen en waar deze zich heeft voorgedaan.
  • Crashdumps zonder uitzonderingsinformatie. Meestal handmatig gemaakt door de gebruiker wanneer het nodig is om eenvoudigweg een momentopname van een proces te maken voor daaropvolgende analyse. Deze analyse impliceert niet het bepalen van het type uitzondering, aangezien er geen uitzondering heeft plaatsgevonden, maar een analyse van een heel ander soort, bijvoorbeeld het bestuderen van de datastructuren van een proces enzovoort.

Kernelgeheugendumpconfiguratie

U dient ingelogd te zijn onder administratief rekening om de stappen uit te voeren die in dit gedeelte worden beschreven.

Laten we meteen beginnen met het configureren van de Windows-crashdumpinstellingen. Eerst moeten we op een van de volgende manieren naar het venster met systeemeigenschappen gaan:

  1. Klik klik met de rechtermuisknop muis op het pictogram "Deze computer" - "Eigenschappen" - "Geavanceerde systeeminstellingen" - "Geavanceerd".
  2. Knop "Start" - "Configuratiescherm" - "Systeem" - "Geavanceerde systeeminstellingen" - "Geavanceerd".
  3. Sneltoets "Windows" + "Pauze" - "Geavanceerde systeeminstellingen" - "Geavanceerd".

  4. besturingssysteem.cpl,3
  5. Uitvoeren binnen opdrachtregel(cmd):
    SysteemeigenschappenGeavanceerd

Het resultaat van de beschreven acties is het openen van het venster "Systeemeigenschappen" en het selecteren van het tabblad "Geavanceerd":

Daarna klikken we in het gedeelte "Opstarten en herstellen", selecteren we "Opties" en openen daardoor een nieuw venster met de naam "Download en herstel":

Alle crashdumpparameters zijn gegroepeerd in een parameterblok met de naam "Systeemfout". In dit blok kunnen we de volgende parameters instellen:

  1. Schrijf gebeurtenissen naar het systeemlogboek.
  2. Voer een automatische herstart uit.
  3. Foutopsporingsinformatie vastleggen.
  4. Dump bestand.
  5. Vervangen bestaand bestand dumpen.

Zoals u kunt zien, zijn veel van de parameters uit de lijst vrij triviaal en gemakkelijk te begrijpen. Ik wil echter graag dieper ingaan op de parameter "Dump File". De parameter wordt weergegeven als een vervolgkeuzelijst en heeft vier mogelijke waarden:

Kleine geheugendump

Een kleine geheugendump (minidump) is een bestand dat de kleinste hoeveelheid informatie over de fout bevat. De kleinste van alle mogelijke geheugendumps. Ondanks de voor de hand liggende nadelen worden minidumps vaak gebruikt als informatie over een fout die aan de leverancier moet worden doorgegeven chauffeurs van derden voor verdere studie.
Verbinding:

  • Foutmelding.
  • Foutwaarde.
  • Foutparameters.
  • De processorcontext (PRCB) waarop de fout heeft plaatsgevonden.
  • Procesinformatie en kernelcontext (EPROCESS) voor het crashende proces en al zijn threads.
  • Verwerk informatie en kernelcontext (ETHREAD) voor de thread die de crash veroorzaakt.
  • De kernelmodusstapel voor de thread die de crash heeft veroorzaakt.
  • Lijst met geladen stuurprogramma's.

Accommodatie: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Waar MMDDYY respectievelijk de maand, de dag en het jaar is, is NN dat serienummer dumpen.
Volume: De grootte is afhankelijk van de bitheid van het besturingssysteem: slechts 128 kilobytes zijn vereist voor een 32-bits en 256 kilobytes voor een 64-bits besturingssysteem in het wisselbestand (of in het bestand dat is opgegeven in DedicatedDumpFile). Omdat we zo'n klein formaat niet kunnen instellen, ronden we het af naar 1 megabyte.

Kernel-geheugendump

Dit type dump bevat een kopie van al het kernelgeheugen op het moment van de crash.
Verbinding:

  • Lijst met actieve processen.
  • Status van de huidige thread.
  • Geheugenpagina's in de kernelmodus die aanwezig waren in het fysieke geheugen op het moment van de crash: stuurprogrammageheugen in de kernelmodus en programmageheugen in de kernelmodus.
  • Hardware-afhankelijk niveau (HAL) geheugen.
  • Lijst met geladen stuurprogramma's.

In de kernelgeheugendump ontbreken niet-toegewezen geheugenpagina's en gebruikersmoduspagina's. Mee eens, het is onwaarschijnlijk dat procespagina's in de gebruikersmodus voor ons interessant zullen zijn tijdens een systeemfout (BugCheck), aangezien dit meestal systeemfout geïnitieerd door kernelmoduscode.

Grootte: Varieert afhankelijk van de grootte van de toegewezen kerneladresruimte besturingssysteem en het aantal stuurprogramma's voor de kernelmodus. Normaal gesproken is ongeveer een derde van het fysieke geheugen vereist in het wisselbestand (of in het bestand dat is opgegeven in DedicatedDumpFile). Kan variëren.

Volledige geheugendump

Een volledige geheugendump bevat een kopie van al het fysieke geheugen (RAM) op het moment van de crash. Dienovereenkomstig wordt de volledige inhoud van het systeemgeheugen in het bestand opgenomen. Dit is zowel een voordeel als een groot nadeel, aangezien de omvang ervan aanzienlijk kan zijn op sommige servers met grote hoeveelheden RAM.
Verbinding:

  • Alle pagina's met "zichtbaar" fysiek geheugen. Dit is vrijwel het gehele systeemgeheugen, met uitzondering van de gebieden die door de hardware worden gebruikt: BIOS, PCI-ruimte, enz.
  • Gegevens van de processen die op het systeem draaiden op het moment van de storing.
  • Pagina's met fysiek geheugen die niet zijn toegewezen aan de virtuele adresruimte, maar die kunnen helpen bij het onderzoeken van de oorzaak van de storing.

IN volledige puinhoop Het geheugen omvat standaard niet de gebieden met fysiek geheugen die door het BIOS worden gebruikt.
Locatie: %SystemRoot%\MEMORY.DMP . De vorige dump wordt overschreven.
Volume: Het wisselbestand (of het bestand gespecificeerd in DedicatedDumpFile) vereist een volume dat gelijk is aan de grootte van het fysieke geheugen + 257 megabytes (deze 257 MB zijn verdeeld in een bepaalde header + drivergegevens). In sommige besturingssystemen kan de onderste drempel van het wisselbestand zelfs exact worden ingesteld op de waarde van de fysieke geheugengrootte.

Automatische geheugendump

Vanaf Windows 8/Windows Server 2012 werd het systeem geïntroduceerd nieuw type dump genaamd "Automatische geheugendump", die standaard is ingesteld. In dit geval beslist het systeem zelf welke geheugendump moet worden vastgelegd in het geval van een bepaalde storing. Bovendien hangt de keuzelogica af van veel criteria, waaronder de frequentie van de “crash” van het besturingssysteem.

Nadat u de Windows-geheugendumpconfiguratie hebt gewijzigd, moet u mogelijk uw computer opnieuw opstarten.

Registerinstellingen

De registersectie die de crashdumpparameters definieert:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Parameters:

Parameter Type Beschrijving
Automatisch opnieuw opstarten REG_DWORD Inschakelen/uitschakelen automatisch opnieuw opstarten wanneer BSOD optreedt.
CrashDumpIngeschakeld REG_DWORD Het type dump dat wordt gemaakt.
  • 0 - maak geen geheugendump;
  • 1 - volledige geheugendump;
  • 2 - kernelgeheugendump;
  • 3 - kleine geheugendump;
Dumpbestand REG_EXPAND_SZ Pad en naam van de kernelgeheugendump en de volledige geheugendump.
DumpFilters REG_MULTI_SZ Stuurprogrammafilter in de geheugendump-stuurprogrammastapel. Hiermee kunt u toevoegen nieuwe functionaliteit in de creatiefase crashdumps. Bijvoorbeeld het versleutelen van de inhoud van de dump. Het wijzigen van de waarde wordt niet aanbevolen.
LogGebeurtenis REG_DWORD Een gebeurtenis opnemen in het systeemlogboek.
MinidumpDir REG_EZPAND_SZ Pad en naam van de kleine geheugendump.
MinidumpsCount REG_DWORD Maximaal aantal kleine geheugendumps. Bij overschrijding beginnen oudere versies te worden overschreven.
Overschrijven REG_DWORD Vervang een bestaand dumpbestand. Alleen voor kernelgeheugendump en volledige geheugendump.
NegeerPagefileSize REG_DWORD Negeert standaard bestand swap als plaats voor tijdelijke (tussen)opslag van een geheugendump. Geeft aan dat de geheugendump naar een afzonderlijk bestand moet worden geschreven. Wordt gebruikt in combinatie met de optie DedicatedDumpFile.
Toegewijd DumpFile REG_EZPAND_SZ Pad en naam van een tijdelijk alternatief bestand voor het opnemen van een geheugendump. Bij de tweede doorgang worden de gegevens nog steeds verplaatst naar DumpFile/MinidumpDir.

Handmatig een geheugendump maken

Hierboven hebben we de instellingen voor beschreven automatische creatie crashdumps van het systeem in het geval van kritische fout, dat wil zeggen onverwerkte uitzondering in de kernelcode. Maar binnen echte leven Naast de crash van het besturingssysteem zijn er situaties waarin het nodig is om op een specifiek tijdstip een systeemgeheugendump te verkrijgen. Wat te doen in dit geval? Er zijn methoden om een ​​momentopname van al het fysieke geheugen te verkrijgen, bijvoorbeeld met behulp van de opdracht .dump in de WinDbg/LiveKD-foutopsporingsprogramma's. LiveKD is een programma waarmee u de Kd-kernel-debugger op een draaiend systeem in lokale modus kunt uitvoeren. De WinDbg-foutopsporing heeft ook een soortgelijke functie. De on-the-fly dump-methode is echter niet nauwkeurig omdat de in dit geval gegenereerde dump "inconsistent" is, omdat het tijd kost om de dump te genereren, en in het geval van gebruik van de debugger in de kernelmodus blijft het systeem draaien en maken wijzigingen in de geheugenpagina's.

Instructies voor het interpreteren van het bestand kleine geheugendump.

Heel vaak kun je vragen tegenkomen die verband houden met het uiterlijk blauw scherm van de dood (Blauw scherm van de dood = BSOD). Bijna iedereen kan echter onafhankelijk de oorzaak van de fout bepalen die tot het verschijnen van BSOD heeft geleid. Feit is dat wanneer er een blauw scherm verschijnt harde schijf wordt opgenomen speciaal bestand die wordt genoemd Kleine geheugendump(natuurlijk, op voorwaarde dat de opname ervan is toegestaan ​​in de instellingen).

U kunt de opname van kleine dumps als volgt inschakelen:

1. Klik op de knop Begin en selecteer uit het menu Instellingen paragraaf Configuratiescherm.

2. Dubbelklik op het pictogram Systeem.

3. Open het tabblad Aanvullend en druk op de knop.

4. Op de lijst Foutopsporingsinformatie schrijven selecteren Kleine geheugendump (64 KB).

Een klein geheugendumpbestand registreert een minimumset van nuttige informatie toestaan de oorzaak van een onverwachte computercrash vaststellen. Voor deze optie is een paginabestand op het opstartvolume van grootte vereist minimaal 2MB. Op computers met besturingssysteem Microsoft-systeem Windows 2000 of hoger Windows-versies in geval van onverwachte computerstoring elke keer dat er een nieuw bestand wordt gemaakt.

Wanneer de volgende fout optreedt en er een tweede klein geheugendumpbestand wordt gemaakt, wordt Windows opgeslagen vorig bestand. Windows geeft elk bestand een aparte naam met een datum. Mini022900-01.dmp is bijvoorbeeld het eerste geheugendumpbestand dat op 29 februari 2000 is gemaakt. Een lijst met alle kleine geheugendumpbestanden wordt opgeslagen in de map %SystemRoot%\Minidump.

Hulpmiddelen voor het interpreteren van een klein geheugendumpbestand

Om kleine geheugendumpbestanden te downloaden, kunt u gebruiken hulpprogramma Dump-controle(Dumpchk.exe). Dumpchk.exe wordt ook gebruikt om te controleren of het geheugendumpbestand correct is gemaakt. Dump Check vereist geen toegang tot debug-symbolen. Dump Check is inbegrepen in de ondersteuningskit Ondersteuningsprogramma's voor Microsoft Windows 2000 En Ondersteuningsprogramma's voor Microsoft Windows XP. Via deze link kunt u deze pakketten downloadenhttp://www.microsoft.com/whdc/devtools/debugging/default.mspx

Om kleine geheugendumpbestanden te interpreteren, kunt u ook de tools gebruiken WinDbg of de KD.exe. WinDbg-programma's en KD.exe inbegrepen V nieuwste versie Pakket met foutopsporingstools voor Windows.

Hoe een geheugendumpbestand te openen

Volg deze stappen om een ​​geheugendumpbestand te openen:

  1. Klik op de knop Begin, selecteer artikel Uitvoeren, binnenkomen cmd-opdracht en druk op de knop OK.
  2. Ga naar map "Foutopsporingsprogramma's voor Windows". Om dit te doen, voert u dit in op de opdrachtregel

cd c:\program files\debugging tools voor windows

en druk op ENTER.

  1. Om een ​​geheugendumpbestand in het foutopsporingsprogramma te laden, typt u een van de volgende opdrachten en drukt u op ENTER:

windbg -y pad_naar_symbool -i pad_naar_afbeelding -z pad_naar_dump_bestand

kd-y pad_naar_symbool -i pad_naar_afbeelding -z pad_naar_dump_bestand

Stomp gedeelte

Beschrijving

pad_naar_symbool

Het lokale pad naar de map waar de symboolbestanden zijn gedownload, of het pad naar de symboolserver, inclusief de cachemap. Omdat een klein geheugendumpbestand beperkte informatie bevat, moeten de daadwerkelijke binaire bestanden samen met de symbolen worden geladen om het geheugendumpbestand correct te kunnen interpreteren.

pad_naar_afbeelding

Het pad naar deze bestanden. Deze bestanden bevinden zich in de map I386 op de cd met Windows XP. Voorbeeldpad: C:\Windows\I386.

pad_naar_dump_bestand

Het pad naar het geheugendumpbestand dat wordt geanalyseerd en de naam van dit bestand.

Analyse van geheugendumpbestanden

Er zijn verschillende opdrachten om gegevens in een dumpbestand te verzamelen, waaronder de volgende:

  • Team !analyseer -toon geeft de fatale foutcode en de bijbehorende parameters weer. De fatale foutcode wordt ook wel de besturingsfoutcode genoemd.
  • Team !analyseer -v geeft gedetailleerd analyseresultaat weer.
  • Team lm N T toont een lijst met de opgegeven geladen modules. De gegevens omvatten de status en het pad van de module.

Opmerking. Commando met extensie !chauffeurs Geeft een overzicht van alle stuurprogramma's die op de doelcomputer zijn geladen, samen met informatie over het geheugen dat ze gebruiken. Verlenging !chauffeurs niet gebruikt in Windows XP en hoger latere versies. Gebruik de opdracht om informatie over geladen stuurprogramma's en andere modules weer te geven lm. Team lm N T geeft informatie weer in hetzelfde formaat als de oude extensie !chauffeurs.

Voor informatie over andere opdrachten en de volledige opdrachtsyntaxis raadpleegt u de referentiedocumentatie voor foutopsporingshulpmiddelen. Help-documentatie voor foutopsporingshulpmiddelen bevindt zich in het bestand: C:\Program Files\Debugging Tools for Windows\Debugger.chm

Opmerking. Als er zich problemen voordoen met betrekking tot Met het gebruik van symbolen , gebruik dan het hulpprogramma Symchk om te controleren of de vereiste symbolen correct zijn geladen. Meer informatie over het programma Symchk Zie het volgende Microsoft Knowledge Base-artikel:

311503 (http://support.microsoft.com/kb/311503/) Foutopsporingssymboolbestanden ophalen van de Microsoft-symboolserver