Windows 10 actieve geheugendump Hoe het systeem een ​​crashgeheugendumpbestand maakt. Wat is een geheugendump in Windows

Hallo vrienden, vandaag zullen we kijken interessant onderwerp, die je in de toekomst zal helpen wanneer een Blue Screen of Death (BSoD) verschijnt.

Net als ik moesten veel andere gebruikers het uiterlijk waarnemen van een scherm met een blauwe achtergrond waarop iets was geschreven (wit op blauw). Dit fenomeen duidt op een kritiek probleem, zowel in de software, bijvoorbeeld een driverconflict, als in een fysieke storing van een computeronderdeel.

Ik kreeg onlangs opnieuw een probleem met een blauw scherm in Windows 10, maar ik ben er snel vanaf en zal je er binnenkort over vertellen.

Wil je? Volg dan de link.

De meeste gebruikers weten dus niet dat BSoD kan worden geanalyseerd om de problemen later te begrijpen kritische fout. Voor dergelijke Windows-gevallen creëert speciale bestanden op de schijf - we zullen ze analyseren.

Er zijn drie soorten geheugendumps:

Volledige geheugendump– met deze functie kunt u de inhoud volledig opslaan RAM. Het wordt zelden gebruikt, want stel je voor dat je 32 GB RAM hebt, met een volledige dump wordt al dit volume op schijf opgeslagen.

Kerndump– slaat informatie over de kernelmodus op.

Kleine geheugendump– slaat een kleine hoeveelheid foutinformatie en geladen componenten op die aanwezig waren op het moment dat de systeemstoring optrad. We zullen dit type dump gebruiken omdat het ons voldoende informatie over de BSoD zal geven.

De locatie van zowel de kleine als de volledige dump is verschillend. De kleine dump bevindt zich bijvoorbeeld in het volgende pad: %systemroot%\minidump.

De volledige dump is hier: %systemroot%.

Om geheugendumps te analyseren zijn er diverse programma's, maar we gebruiken er twee. De eerste is Microsoft Kernel Debuggers, zoals de naam al doet vermoeden, een hulpprogramma van Microsoft. Je kunt het downloaden van de officiële website. Het tweede programma is BlueScreenView, een gratis programma dat u hier kunt downloaden.

Een geheugendump analyseren met behulp van Microsoft Kernel Debuggers

Voor verschillende versies systemen die u nodig heeft om uw eigen type hulpprogramma te downloaden. Bijvoorbeeld voor 64-bits besturingssysteem, je hebt een 64-bits programma nodig, voor een 32-bits programma - een 32-bits versie.

Dat is nog niet alles, u moet het pakket met foutopsporingssymbolen dat nodig is voor het programma downloaden en installeren. Het heet Foutopsporingssymbolen. Elke versie van dit pakket wordt ook gedownload onder een specifiek besturingssysteem, zoek eerst uit welk systeem je hebt en download dan. Zodat u deze symbolen nergens hoeft te zoeken, vindt u hier de downloadlink. De installatie dient bij voorkeur in dit pad te worden uitgevoerd: %systemroot%\symbols.

Nu kunt u onze debugger starten, waarvan het venster er als volgt uit zal zien:

Voordat we de dumps analyseren, zullen we iets in het hulpprogramma configureren. Eerst moeten we het programma vertellen waar we de foutopsporingssymbolen hebben geïnstalleerd. Om dit te doen, klikt u op de knop "Bestand", selecteert u het item "Symboolbestandspad" en geeft u vervolgens het pad naar de symbolen aan.


Met het programma kun je symbolen rechtstreeks van internet halen, zodat je ze niet eens hoeft te downloaden (sorry voor degenen die ze al hebben gedownload). Ze worden van een Microsoft-server gehaald, dus alles is veilig. U moet dus opnieuw “Bestand” openen, vervolgens “Symboolbestandspad” en de volgende opdracht invoeren:

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


We hebben dus aan het programma aangegeven dat de symbolen uit het netwerk moesten worden gehaald. Zodra we dit hebben gedaan, klikt u op "Bestand" en selecteert u "Werkruimte opslaan" en klikt u vervolgens op OK.

Dat is het. We hebben het programma op de juiste manier geconfigureerd, nu beginnen we geheugendumps te analyseren. Druk in het programma op de knop "Bestand", Dan "Open crashdump" en selecteer het gewenste bestand.

Kernel Debuggers beginnen het bestand te analyseren en geven vervolgens een resultaat over de oorzaak van de fout.


In het venster dat verschijnt, kunt u opdrachten invoeren. Als we binnenkomen !analyseren –v, dan krijgen we meer informatie.

Dat is alles met dit programma. Om de debugger te stoppen, selecteert u "Debug" en het item "Debugging stoppen".

Een geheugendump analyseren met BlueScreenView

Voor analyse verschillende fouten en BSoD zal het ook doen BlueScreenView-programma, dat een eenvoudige interface heeft, dus er zouden geen problemen moeten zijn bij het beheersen ervan.

Download het programma via de bovenstaande link en installeer het. Nadat u het hulpprogramma hebt gestart, moet u het configureren. Ga naar de parameters: “Instellingen” - “ Extra opties" Er wordt een klein venster geopend met een paar items. In de eerste paragraaf moet u de locatie van de geheugendumps aangeven. Ze bevinden zich meestal in het pad C:\WINDOWS\Minidump. Klik vervolgens gewoon op de knop "Standaard".


Wat kun je zien in het programma? We hebben menu-items, een deel van het venster met de namen van de dumpbestanden, en het tweede deel van het venster – de inhoud van de geheugendumps.


Zoals ik aan het begin van het artikel al zei, kunnen dumps stuurprogramma's opslaan, de schermafbeelding van het 'scherm des doods' zelf en andere nuttige informatie die nuttig voor ons kan zijn.

Selecteer dus in het eerste deel van het venster, waar de dumpbestanden staan, de geheugendump die we nodig hebben. In het volgende deel van het venster bekijken we de inhoud. Stuurprogramma's in de geheugenstapel zijn gemarkeerd in een roodachtige kleur. Zij zijn precies de oorzaak van het blauwe scherm van de dood.

Op internet kunt u alles vinden over de foutcode en het stuurprogramma dat mogelijk verantwoordelijk is voor BSoD. Om dit te doen, klikt u op "Bestand" en vervolgens "Vind binnen Google-code fouten + stuurprogramma".


U kunt alleen de stuurprogramma's weergeven die aanwezig waren op het moment dat de fout optrad. Om dit te doen, klikt u op "Instellingen" - "Onderste venstermodus" - "Alleen stuurprogramma's gevonden in de crashstack". Of druk op de F7-toets.

Druk op F8 om de BSoD-screenshot weer te geven.

Druk op F6 om alle stuurprogramma's en bestanden weer te geven.

Nou, dat is alles. Nu weet u hoe u meer te weten kunt komen over het Blue Screen of Death-probleem, en als er iets gebeurt, kunt u een oplossing vinden op internet of op deze site. U kunt uw foutcodes opgeven, en ik zal proberen voor elk artikel te schrijven om het probleem op te lossen.

Vergeet ook niet om vragen te stellen in de reacties.

Als het zogenaamde blauwe scherm van de dood in Windows 10 voor je verschijnt en je op het punt staat in een nerveuze coma te raken, verman jezelf dan en probeer het probleem op te lossen. Om te beginnen is het de moeite waard om te zeggen dat deze onheilspellende boodschap u een kritiek signaal geeft systeemfout. Bovendien is het niet altijd mogelijk om het moment te vangen en tijd te hebben om de foutcode te lezen wanneer Windows in het blauwe scherm van de dood valt en het apparaat opnieuw opstart. Laten we meteen opmerken dat er een groot aantal oplossingen voor dit probleem zijn, evenals de redenen voor het verschijnen van een blauw scherm. In dit artikel zullen we proberen erover na te denken waarschijnlijke redenen de verschijning van een blauw scherm van geluk, evenals mogelijke oplossingen problemen.

In de overgrote meerderheid van de gevallen signaleert het blauwe scherm van de dood de fout BAD_POOL_CALLER - stop 0x000000c2. Om het bot te zeggen: het is moeilijk om deze fout te diagnosticeren, maar misschien zullen we proberen deze fout als voorbeeld te gebruiken om het algoritme voor uw volgende acties te beschrijven.

Om het probleem correct te diagnosticeren, moet u eerst analyseren speciaal bestand systeem genaamd minidump (geheugendump). Het aanmaken van dergelijke bestanden wordt veroorzaakt door een systeemfout; bovendien kunnen ze ons vertellen wat precies tot de fout heeft geleid.

1. Om dit in te schakelen automatische opname kleine geheugendump (standaard uitgeschakeld), ga naar computereigenschappen en ga naar het gedeelte 'Geavanceerde systeeminstellingen' (deze mogelijkheid is beschikbaar voor alle systemen, niet alleen voor Windows 10):

In de regel worden alle minidump-bestanden opgeslagen wanneer een blue screen of death (BSOD) verschijnt, en u kunt ze vinden in de map C:\Windows\Minidump. Het is opmerkelijk dat de bestandsnaam huidige datum– toen het werd aangemaakt, wat het veel gemakkelijker maakt om de datum te identificeren waarop de fout zich voordeed, vooral gezien het feit dat er meer dan één dergelijk bestand kan zijn.

Twee manieren om een ​​kleine geheugenminidump te decoderen

Eerste manier, bestaat uit het gebruik van het redelijk populaire hulpprogramma BlueScreenView. Dit hulpprogramma kan ook een goede optie zijn voor het analyseren van een geheugendump. Het gebruik van dit hulpprogramma kan van pas komen als een manier om het problematische stuurprogramma te identificeren.

Bovendien valt het vooral op vanwege het feit dat het met zijn hulp mogelijk is om de BSOD (blue screen of death) te bekijken alsof hij in een bevroren frame zit, zoals het was toen het systeem crashte. Het toont de tijd en datum van de fout, informatie over de driver of module met versie en korte beschrijving. Bovendien is het hulpprogramma beschikbaar in vele talen, waaronder Russisch. Het hulpprogramma BlueScreenView is dus precies wat u nodig heeft als u moet produceren snelle analyse geheugendumps tijdens BSOD.

Voor tweede methode u moet Debugging Tools voor Windows installeren en ook het hulpprogramma bsdos_utility downloaden. Vervolgens moet u, na het uitpakken van het script bsdos_utility.cmd, het naar station C:\ verplaatsen (u kunt aparte map, maar het is de moeite waard om te onthouden dat de startadresregel van het script anders zal zijn dan in ons voorbeeld). Dan binnen opdrachtregel moet worden geschreven:

C:\bsdos_utility.cmd

Na het tonen van een lijst met alle dumps uit de lijst C:\Windows\Minidump\, waarna het script vraagt ​​welke dump geanalyseerd moet worden. U kunt tijdens het uitvoeren van het script ook zelf de benodigde minidump selecteren:

Op een vergelijkbare manier is het mogelijk om massa te detecteren Windows-fouten 10, die de BSOD veroorzaakte, evenals problematische .exe-programma's die een blauw scherm veroorzaakten.

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 een deel of het gehele RAM-geheugen en plaats het op een niet-vluchtig medium ( harde schijf). 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 u in het Windows-register kijkt, kunt u er enkele 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 in- of uitschakelen na het maken van een blue screen of death (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 het actieve geheugen van de computer, de systeemkernel en de gebruiker op. 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 tijdens het gebruik veel dingen uitgeschakeld SSD-schijven, aangezien herhaalde lees- en schrijfprocedures de gezondheid van deze 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" Als u het benodigde stuurprogramma vindt, installeert u uw computer en start u deze opnieuw op. Misschien zal de fout verdwijnen.

Een van de meest voorkomende Windows-fouten zijn systeemuitzonderingen, die de gebruiker te zien krijgt in de vorm van een “blue screen of death” (BSOD). In de regel dit fatale fout treedt op als gevolg van een storing in stuurprogramma's, hardware (meestal bij het laden van het besturingssysteem) of als gevolg van de werking van virussen en antivirusprogramma's.

Het blauwe scherm van de dood bevat informatie over de redenen die de uitzondering hebben veroorzaakt (in de vorm van een STOP-foutcode in de vorm 0x0000007b), geheugenadressen waartoe toegang is verkregen toen een uitzondering zich voordeed, en andere nuttige informatie. Dergelijke informatie wordt een STOP-fout genoemd, waarvan de variabele parameters precies geheugenadressen zijn. Soms bevat het ook de naam van het bestand dat de uitzondering veroorzaakte.

Al deze informatie wordt niet lang (maximaal 100 seconden) op het scherm weergegeven, waarna de computer opnieuw opstart. Gedurende deze korte tijd wordt in de regel een geheugendump gegenereerd en naar een bestand geschreven. Een van de belangrijkste professionele manieren foutdiagnose - geheugendumpanalyse, die in dit artikel in detail zal worden besproken.

Wat is een puinhoop

  • dump (Engels) - vuilnisbelt; dumpen; gat; sloppenwijk.
  • dump (geheugendump) – 1) dump, waarbij de inhoud van het RAM wordt uitgevoerd om af te drukken of op het scherm te zetten; 2) een “momentopname” van RAM; gegevens verkregen als gevolg van dumping; 3) noodverwijdering, uitschakeling, reset.
  • dumpen - dumpen, dumpen verwijderen.

Instellingen voor het opslaan van een geheugendump worden opgeslagen in systeem register Ramen.

Informatie over de geheugendump in het systeemregister:

In de sectie Windows-register crashdump wordt gedetecteerd de volgende parameters:

– REG_DWORD-parameter AutoReboot met de waarde 0×1 (optie Automatisch het hulpvenster Boot and Restore van het dialoogvenster Systeemeigenschappen opnieuw opstarten);

– REG_DWORD-parameter CrashDumpEnabled met een waarde van 0×0, als er geen geheugendump is gemaakt; 0×1 – Volledige geheugendump; 0×2 – Kernelgeheugendump; 0x3 – Kleine geheugendump (64KB);

– REG_EXPAND_SZ DumpFile-parameter met de standaardwaarde %SystemRoot%\MEMORY.DMP (opslaglocatie van dumpbestand);

– REG_DWORD parameter LogEvent met een standaardwaarde van 0×1 (optie Loggebeurtenis naar het systeemlogboek van het Boot and Recovery-venster);

– REG_EXPAND_SZ MinidumpDir-parameter met de standaardwaarde %SystemRoot%\Minidump (optie voor kleine dumpmap in het venster Boot and Recovery);

– REG_DWORD-parameter Overschrijven met een standaardwaarde van 0×1 (optie Overschrijf bestaand dumpbestand van het venster Opstarten en herstellen);

– REG_DWORD-parameter SendAlert met een standaardwaarde van 0x1 (optie Stuur administratieve waarschuwing van het opstart- en herstelvenster).

Hoe het systeem een ​​crashdumpbestand maakt

Tijdens het opstarten controleert het besturingssysteem de crashdumpinstellingen in de registersleutel. Als er ten minste één parameter is opgegeven, genereert het systeem een ​​kaart van schijfblokken die door het wisselbestand worden ingenomen opstartvolume en slaat deze op in het geheugen. Het systeem bepaalt ook welke bestuurder schijf apparaat beheert het opstartvolume, berekent controlesommen voor het geheugenimage van de driver en voor datastructuren die integer moeten zijn voordat de driver I/O-bewerkingen kan uitvoeren.

Na een storing controleert de systeemkernel de integriteit van de paginabestandstoewijzing, het schijfstuurprogramma en de besturingsstructuren van het schijfstuurprogramma. Als de integriteit van deze structuren niet wordt geschonden, roept de kern van het systeem speciale functies I/O-schijfstuurprogramma, ontworpen om een ​​geheugenimage op te slaan na een systeemfout. Deze I/O-functies staan ​​op zichzelf en zijn niet afhankelijk van kernelservices, omdat de programma's die verantwoordelijk zijn voor het schrijven van de crashdump geen enkele aanname kunnen doen over welke delen van de systeemkernel of apparaatstuurprogramma's beschadigd raakten toen er een crash plaatsvond. De systeemkernel schrijft gegevens uit het geheugen naar de sectorkaart van het wisselbestand (de systeemkernel hoeft geen bestandssysteemstuurprogramma's te gebruiken).

Eerst controleert de systeemkernel de status van elke component die betrokken is bij het dumpproces. Dit wordt gedaan zodat bij rechtstreeks schrijven naar schijfsectoren de gegevens buiten het paginabestand niet worden beschadigd. De paginabestandsgrootte moet 1 MB zijn groter formaat fysiek geheugen, omdat wanneer informatie naar een dump wordt geschreven, er een header wordt gemaakt die de handtekening van de crashdump en de waarden van verschillende belangrijke systeemkernelvariabelen bevat. De header is minder dan 1 MB, maar het besturingssysteem kan de grootte van het paginabestand met minimaal 1 MB vergroten (of verkleinen).

Na het opstarten van het systeem Sessiebeheerder(Windows NT Session Manager; schijfadres - \WINDOWS\system32\smss.exe) initialiseert de systeempaginabestanden met behulp van eigen functie NtCreatePagingFile. NtCreatePagingFile bepaalt of het paginabestand dat wordt geïnitialiseerd bestaat en, zo ja, of het een dumpheader heeft. Als er een header is, stuurt NtCreatePagingFile een speciale code naar de Session Manager. Hierna start Sessiebeheer Winlogon-proces(Windows NT Logon Program; schijfadres is \WINDOWS\system32\winlogon.exe) dat op de hoogte wordt gesteld van het bestaan ​​van een crashdump. Winlogon voert het SaveDump-programma uit (Windows NT Memory Copy Program; schijfadres - \WINDOWS\system32\savedump.exe), dat de dumpheader parseert en bepaalt verdere acties in geval van nood.

Als de header het bestaan ​​van een dump aangeeft, kopieert SaveDump de gegevens van het paginabestand naar het crashdumpbestand, waarvan de naam wordt opgegeven door de parameter REG_EXPAND_SZ van de sectie DumpFile van het register. Terwijl SaveDump het dumpbestand herschrijft, gebruikt het besturingssysteem niet het deel van het paginabestand dat de crashdump bevat. Op dit moment het volume virtueel geheugen, beschikbaar voor het systeem en de applicaties, wordt verkleind met de grootte van de dump (tegelijkertijd kunnen er berichten op het scherm verschijnen die wijzen op een gebrek aan virtueel geheugen). SaveDump informeert vervolgens de geheugenbeheerder dat het opslaan van de dump is voltooid en geeft het deel van het paginabestand waarin de dump is opgeslagen vrij voor algemeen gebruik.

Na het opslaan van het dumpbestand registreert het SaveDump-programma de creatie van een crashdump in het systeemgebeurtenislogboek, bijvoorbeeld: “De computer is opnieuw opgestart na een kritieke fout: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6). Geheugenkopie opgeslagen: C:\WINDOWS\Minidump\Mini060309-01.dmp".

Als de optie Beheerderswaarschuwing verzenden is ingeschakeld, stuurt SaveDump een waarschuwing naar de beheerder.

Soorten stortplaatsen

  • Volledige geheugendump registreert alle inhoud systeem geheugen wanneer er een fatale fout optreedt. Voor deze optie moet u een wisselbestand op het opstartvolume hebben, waarvan de grootte gelijk is aan de hoeveelheid al het fysieke RAM plus 1 MB. Standaard volledige puinhoop geheugen wordt geschreven naar het bestand %SystemRoot%\Memory.dmp. Wanneer dan ook nieuwe fout en het maken van een nieuw volledig geheugendumpbestand (of kernelgeheugendump) vorig bestand wordt vervangen (overschreven). De optie Volledige geheugendump is niet beschikbaar op pc's met een 32-bits besturingssysteem en 2 gigabyte of meer RAM.

Wanneer er een nieuwe fout optreedt en er een nieuw volledig geheugendumpbestand wordt gemaakt, wordt het vorige bestand vervangen.

  • Kernel-geheugendump schrijft alleen kernelgeheugen, waardoor het proces van het schrijven van gegevens naar het logboek wanneer het systeem plotseling stopt sneller verloopt. Afhankelijk van de hoeveelheid fysiek geheugen van de pc heeft het wisselbestand in dit geval 50 tot 800 MB nodig, of een derde van het fysieke geheugen van de computer op het opstartvolume. Standaard wordt de kernelgeheugendump naar het bestand %SystemRoot%\Memory.dmp geschreven.

Deze dump omvat geen niet-toegewezen geheugen of geheugen dat is toegewezen aan programma's in de gebruikersmodus. Het omvat alleen geheugen dat is toegewezen aan de kernel en hardware-afhankelijke laag (HAL) in Windows 2000 en latere versies van het systeem, evenals geheugen dat is toegewezen aan stuurprogramma's in de kernelmodus en andere programma's in de kernelmodus. In de meeste gevallen is een dergelijke dump de optie die de meeste voorkeur verdient. Het neemt veel minder ruimte in beslag dan een volledige geheugendump, terwijl alleen die geheugensectoren worden uitgesloten die hoogstwaarschijnlijk geen verband houden met de fout.
Wanneer er een nieuwe fout optreedt en er een nieuw kernelgeheugendumpbestand wordt gemaakt, wordt het vorige bestand vervangen.

  • Kleine geheugendump schrijft het kleinste volume nuttige informatie nodig om de oorzaak van het probleem te achterhalen. Om een ​​kleine geheugendump te maken, moet de paginabestandsgrootte op het opstartvolume minimaal 2 MB zijn.

Kleine geheugendumpbestanden bevatten de volgende informatie:

  • Fatale foutmelding, de parameters en andere gegevens;
  • lijst met geladen stuurprogramma's;
  • de processorcontext (PRCB) waarop de fout heeft plaatsgevonden;
  • procesinformatie en kernelcontext (EPROCESS) voor het proces dat de fout veroorzaakte;
  • procesinformatie en kernelcontext (ETHREAD) voor de thread die de fout veroorzaakte;
  • De kernelmodusaanroepstack voor de thread die de fout heeft veroorzaakt.

Het kleine geheugendumpbestand wordt gebruikt als de ruimte op de harde schijf beperkt is. Vanwege de beperkte informatie die het bevat, kan de analyse van dit bestand echter niet altijd fouten detecteren die niet rechtstreeks werden veroorzaakt door de thread die actief was toen de fout optrad.

Wanneer de volgende fout optreedt en er een tweede klein geheugendumpbestand wordt gemaakt, wordt het vorige bestand opgeslagen. Aan iedereen extra bestand er wordt een unieke naam gegeven. De datum is gecodeerd in de bestandsnaam. Mini051509-01.dmp is bijvoorbeeld het eerste geheugendumpbestand dat op 15 mei 2009 is gemaakt. In de map wordt een lijst met alle kleine geheugendumpbestanden opgeslagen. %SysteemRoot%\Minidump.

operatiekamer Windows-systeem XP is ongetwijfeld veel betrouwbaarder eerdere versies, – dankzij de inspanningen van zowel Microsoft-ontwikkelaars als driver-ontwikkelaars hardware en ontwikkelaars van applicatiesoftware. Noodsituaties - allerlei soorten storingen en systeemcrashes - zijn echter onvermijdelijk, en of de pc-gebruiker over de kennis en vaardigheden beschikt om deze te elimineren, hangt af van de vraag of hij een paar minuten zal moeten besteden aan het oplossen van problemen (bijvoorbeeld het updaten/debuggen van een stuurprogramma of het opnieuw installeren van een applicatie). systeemfout), – of enkele uren om het besturingssysteem en de applicatiesoftware opnieuw te installeren/configureren (wat niet de afwezigheid van storingen en crashes in de toekomst garandeert!).

Veel systeembeheerders negeren nog steeds de analyse van Windows-crashdumps, omdat ze denken dat het te moeilijk is om ermee te werken. Het is moeilijk, maar het is mogelijk: zelfs als bijvoorbeeld de analyse van één op de tien dumps succesvol blijkt te zijn, zullen de inspanningen die zijn besteed aan het beheersen van de eenvoudigste technieken voor het analyseren van crashdumps niet tevergeefs zijn!

Ik zal voorbeelden geven uit mijn “sysadmin” praktijk.

IN lokaal netwerk zonder schijnbare reden(“hardware” is in orde, de afwezigheid van virussen is gegarandeerd, gebruikers hebben “normale handen”) verschillende werkstations met Windows XP SP1/SP2 “aan boord” werden gedood. Het was niet mogelijk om de computers in de normale modus op te starten - het kwam op "Groeten" - en het duurde een eeuwigheid om opnieuw op te starten. Tegelijkertijd startten de pc's op in de veilige modus.

De studie van geheugendumps maakte het mogelijk om de oorzaak van de storing te identificeren: de boosdoener bleek Kaspersky-antivirus te zijn, of beter gezegd, vers antivirusdatabases(meer precies, twee databasemodules – base372c.avc, base032c.avc).

...Er was nog zo'n geval. Op een lokale pc met Windows XP SP3 vond een herstart plaats toen werd geprobeerd videobestanden in de formaten .avi en .mpeg te openen. Door de geheugendump te bestuderen, konden we de oorzaak van de storing identificeren: het nv4_disp.dll-bestand van het videokaartstuurprogramma NVIDIA GeForce 6600. Na het updaten van het stuurprogramma was het probleem opgelost. Over het algemeen is het stuurprogramma nv4_disp.dll een van de meest onstabiele stuurprogramma's, wat vaak tot BSOD leidde.

In beide gevallen maakte het bestuderen van de crashgeheugendump het mogelijk om de tijd voor het diagnosticeren en elimineren van de storing tot een minimum te beperken (enkele minuten!).

Analyse van geheugendumps

Er zijn veel programma's voor het analyseren van crashgeheugendumps, bijvoorbeeld DumpChk, Kanalyze, WinDbg.

Laten we eens kijken naar het analyseren van crashgeheugendumps met behulp van het WinDbg-programma (opgenomen in Debugging Gereedschap voor ramen).

Foutopsporingstools installeren

  • bezoek de website van Microsoft Corporation http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • download Debugging Tools voor Windows, voor een 32-bits versie van Windows kunt u dit bijvoorbeeld doen op de pagina Debugging Tools for Windows downloaden;
  • na het downloaden, uitvoeren installatiebestand;
  • klik in het venster Debugging Tools for Windows Setup Wizard op Volgende;
  • in het raam met licentieovereenkomst zet de schakelaar Ik ga akkoord -> Volgende;
  • in het volgende venster selecteert u het installatietype (standaard worden debugging tools geïnstalleerd in de map \Program Files\Debugging Tools for Windows) –> Volgende –> Installeren –> Voltooien;
  • Om geheugendumpbestanden te interpreteren, moet u ook de symboolpakketten voor uw versie van Windows downloaden. Ga naar de pagina Windows-symboolpakketten downloaden;
  • selecteer uw versie van Windows, download het installatiebestand van Symbol Packages en voer het uit;
  • klik in het venster met de licentieovereenkomst op Ja;
  • selecteer in het volgende venster de installatiemap (de standaard is \WINDOWS\Symbols) –> OK –> Ja;
  • in het raam Microsoft Windows Bij symbolen met de melding “Installatie is voltooid” klikt u op OK.

WinDbg gebruiken om crashdumps te analyseren

  • voer WinDbg uit (standaard geïnstalleerd in de map \Program Files\Debugging Tools for Windows);
  • selecteer menu Bestand –> Symbool Bestandspad…;
  • klik in het venster Symbol Search Path op de knop Bladeren...;
  • geef in het venster Bladeren door map de locatie van de map Symbolen op (standaard – \WINDOWS\Symbols) –> OK –> OK;
  • selecteer menu Bestand -> Crashdump openen... (of druk op Ctrl + D);
  • geef in het venster Crash Dump openen de locatie op van het Crash Dump-bestand (*.dmp) -> Openen;
  • in het werkruimtevenster met de vraag “Opslaan informatie voor werkruimte?", vink het vakje Niet opnieuw vragen -> Nee aan;
  • Het Command Dump-venster wordt geopend in het WinDbg-venster<путь_и_имя_файла_дампа>met dumpanalyse;
  • de geheugendumpanalyse bekijken;
  • in de sectie “Bugcheck-analyse” wordt aangegeven mogelijke reden crash, bijvoorbeeld “Waarschijnlijk veroorzaakt door: smwdm.sys (smwdm+454d5)”;
  • bekijken gedetailleerde informatie klik op de link “!analyze -v” in de regel “Gebruik !analyze -v om gedetailleerde foutopsporingsinformatie te krijgen”;
  • sluit WinDbg;
  • Gebruik de verkregen informatie om de oorzaak van het probleem te elimineren.

In de volgende schermafbeelding is de oorzaak van de storing bijvoorbeeld het bestand nv4_disp.dll van het videokaartstuurprogramma.

Deze korte notitie is bedoeld om te laten zien hoe u het systeem kunt configureren om in geval van nood te kunnen optreden Windows-geheugendump, 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 - 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. Belangrijk is ook dat een geheugendump letterlijk wordt gemaakt de enige manier ontvang informatie over eventuele storingen! 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 strikt gedefinieerd tijdstip onmiddellijk voorafgaand aan de storing een actuele kopie van het fysieke geheugen van het systeem te verkrijgen. 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 worden in de beginfase schijfblokken die aan het wisselbestand zijn toegewezen, gebruikt om een ​​Windows-geheugendump op te slaan. 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 met de rechtermuisknop 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. Voer uit op de 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. Vervang een bestaand dumpbestand.

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 een systeemfout meestal wordt geïnitieerd door code in de kernelmodus.

Grootte: Varieert afhankelijk van de grootte van de kerneladresruimte die door het besturingssysteem wordt toegewezen 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.

Standaard omvat een volledige geheugendump geen delen van het fysieke 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 is er een nieuw dumptype in het systeem geïntroduceerd, genaamd Automatic Memory Dump, dat is ingesteld als het standaardtype. 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 er een BSOD optreedt.
CrashDumpEnabled 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 fase van het creëren van crashdumps. Bijvoorbeeld versleuteling 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 beschreven voor het automatisch maken van systeemcrashdumps in het geval van een kritieke fout 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.