Windows 10 active memory dump Paano gumagawa ang system ng crash memory dump file. Ano ang memory dump sa Windows

Kumusta mga kaibigan, ngayon ay titingnan natin kawili-wiling paksa, na makakatulong sa iyo sa hinaharap kapag lumitaw ang isang Blue Screen of Death (BSoD).

Tulad ko, maraming iba pang mga gumagamit ang kailangang obserbahan ang hitsura ng isang screen na may asul na background kung saan may nakasulat (puti sa asul). Ang hindi pangkaraniwang bagay na ito ay nagpapahiwatig ng isang kritikal na problema, parehong sa software, halimbawa, isang salungatan sa driver, at sa isang pisikal na malfunction ng ilang bahagi ng computer.

Kamakailan lamang ay nagkaroon ako ng isyu sa asul na screen sa Windows 10, ngunit mabilis kong inalis ito at sasabihin ko sa iyo ang tungkol dito sa lalong madaling panahon.

gusto mo ba Pagkatapos ay sundin ang link.

Kaya, hindi alam ng karamihan sa mga gumagamit na maaaring suriin ang BSoD upang maunawaan ang mga problema sa ibang pagkakataon kritikal na pagkakamali. Para sa mga ganyan Mga kaso ng Windows lumilikha ng mga espesyal na file sa disk - susuriin namin ang mga ito.

May tatlong uri ng memory dump:

Buong memory dump– Binibigyang-daan ka ng function na ito na ganap mong i-save ang mga nilalaman RAM. Ito ay bihirang ginagamit, dahil isipin na mayroon kang 32 GB ng RAM, na may isang buong dump, ang lahat ng volume na ito ay maiimbak sa disk.

Core dump- nagse-save ng impormasyon sa kernel mode.

Maliit na memory dump– nagse-save ng maliit na halaga ng impormasyon ng error at nag-load ng mga bahagi na naroroon sa oras na nangyari ang malfunction ng system. Gagamitin namin ang ganitong uri ng dump dahil magbibigay ito sa amin ng sapat na impormasyon tungkol sa BSoD.

Magkaiba ang lokasyon ng maliit at buong dump, halimbawa, ang maliit na dump ay matatagpuan sa sumusunod na landas: %systemroot%\minidump.

Narito ang buong dump: %systemroot%.

Upang pag-aralan ang memory dumps, mayroong iba't ibang programa, ngunit dalawa ang gagamitin namin. Ang una ay ang Microsoft Kernel Debuggers, gaya ng ipinahihiwatig ng pangalan, isang utility mula sa Microsoft. Maaari mong i-download ito mula sa opisyal na website. Ang pangalawang programa ay BlueScreenView, isang libreng programa, i-download mula dito.

Pagsusuri ng Memory Dump Gamit ang Microsoft Kernel Debuggers

Para sa iba't ibang bersyon system na kailangan mong i-download ang iyong sariling uri ng utility. Halimbawa, para sa 64-bit operating system, kailangan mo ng 64-bit program, para sa 32-bit program - isang 32-bit na bersyon.

Hindi lang iyon, kailangan mong i-download at i-install ang pakete ng mga simbolo ng pag-debug na kailangan para sa programa. Ito ay tinatawag na Debugging Symbols. Bawat bersyon ng paketeng ito ay nai-download din sa ilalim ng isang partikular na OS, alamin muna kung anong system ang mayroon ka, at pagkatapos ay i-download. Upang hindi mo na kailangang hanapin ang mga simbolo na ito kahit saan, narito ang link sa pag-download. Ang pag-install ay dapat gawin sa landas na ito: %systemroot%\symbols.

Ngayon ay maaari mong ilunsad ang aming debugger, ang window kung saan magiging ganito ang hitsura:

Bago pag-aralan ang mga dump, iko-configure namin ang isang bagay sa utility. Una, kailangan naming sabihin sa programa kung saan namin na-install ang mga simbolo ng pag-debug. Upang gawin ito, mag-click sa pindutan ng "File" at piliin ang item na "Symbol File Path", pagkatapos ay ipahiwatig ang landas sa mga simbolo.


Binibigyang-daan ka ng program na kunin ang mga simbolo nang direkta mula sa web, kaya hindi mo na kailangang i-download ang mga ito (paumanhin sa mga na-download na ang mga ito). Kukunin ang mga ito mula sa isang server ng Microsoft, kaya ligtas ang lahat. Kaya, kailangan mong buksan muli ang "File", pagkatapos ay "Symbol File Path" at ipasok ang sumusunod na command:

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


Kaya, ipinahiwatig namin sa programa na ang mga simbolo ay dapat kunin mula sa network. Kapag nagawa na namin ito, i-click ang "File" at piliin ang "Save Workspace", pagkatapos ay i-click ang OK.

yun lang. Na-configure namin ang programa sa tamang paraan, ngayon nagsisimula kaming pag-aralan ang mga dump ng memorya. Sa programa, pindutin ang pindutan "File", Pagkatapos "Buksan ang Crash Dump" at piliin ang nais na file.

Sisimulan ng mga Kernel Debugger ang pagsusuri sa file at pagkatapos ay maglalabas ng resulta tungkol sa sanhi ng error.


Sa window na lilitaw, maaari kang magpasok ng mga command. Kung papasok tayo !suriin –v, pagkatapos ay makakakuha tayo ng higit pang impormasyon.

Iyon lang ang kasama ng programang ito. Upang ihinto ang debugger, piliin ang "Debug" at ang item na "Ihinto ang Pag-debug."

Pagsusuri ng memory dump gamit ang BlueScreenView

Para sa pagsusuri iba't ibang pagkakamali at gagawin din ng BSoD BlueScreenView na programa, na may simpleng interface, kaya dapat walang problema sa pag-master nito.

I-download ang program mula sa link sa itaas at i-install. Pagkatapos ilunsad ang utility, kailangan mong i-configure ito. Pumunta sa mga parameter: "Mga Setting" - " Mga karagdagang opsyon" Magbubukas ang isang maliit na window na may ilang mga item. Sa unang talata, kailangan mong ipahiwatig ang lokasyon ng mga dump ng memorya. Karaniwang matatagpuan ang mga ito sa landas C:\WINDOWS\Minidump. Pagkatapos ay i-click lamang ang pindutang "Default".


Ano ang makikita mo sa programa? Mayroon kaming mga item sa menu, bahagi ng window na may mga pangalan ng dump file, at ang pangalawang bahagi ng window - ang mga nilalaman ng memory dumps.


Tulad ng sinabi ko sa simula ng artikulo, ang mga dump ay maaaring mag-imbak ng mga driver, ang screenshot ng mismong "screen of death", at iba pang kapaki-pakinabang na impormasyon na maaaring maging kapaki-pakinabang sa amin.

Kaya, sa unang bahagi ng window, kung nasaan ang mga dump file, piliin ang memory dump na kailangan namin. Sa susunod na bahagi ng window ay tinitingnan namin ang mga nilalaman. Ang mga driver na matatagpuan sa memory stack ay minarkahan ng mapula-pula na kulay. Ang mga ito ay tiyak na sanhi ng asul na screen ng kamatayan.

Sa Internet mahahanap mo ang lahat tungkol sa error code at driver na maaaring sisihin para sa BSoD. Upang gawin ito, i-click ang "File", at pagkatapos "Hanapin sa Google code mga error + Driver".


Maaari mong ipakita lamang ang mga driver na naroroon sa oras na naganap ang error. Upang gawin ito, i-click ang "Mga Setting" - "Bottom window mode" - "Mga driver lang ang natagpuan sa crash stack". O pindutin ang F7 key.

Upang ipakita ang screenshot ng BSoD, pindutin ang F8.

Upang ipakita ang lahat ng mga driver at file, pindutin ang F6.

Well, yun lang. Ngayon alam mo na kung paano malaman ang tungkol sa problema sa Blue Screen of Death, at kung may mangyari, maghanap ng solusyon sa Internet o sa site na ito. Maaari mong ialok ang iyong mga error code, at susubukan kong magsulat para sa bawat artikulo upang malutas ang problema.

Huwag ding kalimutang magtanong sa mga komento.

Kung ang tinatawag na asul na screen ng kamatayan sa Windows 10 ay lilitaw sa harap mo at handa ka nang mahulog sa isang nerbiyos na pagkawala ng malay, pagsamahin ang iyong sarili at subukang lutasin ang problema. Upang magsimula sa, ito ay nagkakahalaga ng pagsasabi na ang nagbabala na mensaheng ito ay nagpapahiwatig sa iyo tungkol sa isang kritikal error sa system. Bukod dito, hindi laging posible na mahuli ang sandali at magkaroon ng oras upang basahin ang error code kapag nahulog ang Windows sa asul na screen ng kamatayan at nag-reboot ang device. Agad nating tandaan na mayroong isang malaking bilang ng mga solusyon sa problemang ito, pati na rin ang mga dahilan para sa paglitaw ng isang asul na screen. Sa artikulong ito susubukan naming isaalang-alang posibleng dahilan ang hitsura ng isang asul na screen ng kaligayahan, pati na rin posibleng solusyon mga problema.

Sa karamihan ng mga kaso, ang asul na screen ng kamatayan ay nagpapahiwatig ng error na BAD_POOL_CALLER - stop 0x000000c2. Sa madaling salita, mahirap i-diagnose ang error na ito, ngunit marahil ay susubukan naming gamitin ang error na ito bilang isang halimbawa upang ilarawan ang algorithm para sa iyong mga susunod na aksyon.

Upang masuri nang tama ang problema, kailangan mo munang pag-aralan espesyal na file sistemang tinatawag na minidump (memory dump). Ang paglikha ng naturang mga file ay sanhi ng isang pagkabigo ng system at, maaari nilang ipaalam sa amin kung ano ang eksaktong humantong sa pagkabigo.

1. Para paganahin ito awtomatikong pag-record maliit na memory dump (naka-disable bilang default), pumunta sa mga pag-aari ng computer at pumunta sa seksyong "Mga advanced na setting ng system" (ang pagpapagana na ito ay ibinigay para sa lahat ng mga system, hindi lamang sa Windows 10):

Bilang isang patakaran, ang lahat ng mga file ng minidump ay nai-save kapag lumitaw ang isang asul na screen ng kamatayan (BSOD), at mahahanap mo ang mga ito sa folder na C:\Windows\Minidump. Kapansin-pansin na naglalaman ang pangalan ng file kasalukuyang petsa– noong ito ay nilikha, na ginagawang mas madaling matukoy ang petsa kung kailan nangyari ang error, lalo na kung isasaalang-alang na maaaring mayroong higit sa isang ganoong file.

Dalawang paraan upang i-decrypt ang isang maliit na memory minidump

Unang paraan, ay binubuo ng paggamit ng medyo sikat na BlueScreenView na utility. Ang utility na ito ay maaari ding maging isang magandang opsyon para sa pagsusuri ng memory dump. Ang paggamit ng utility na ito ay magiging kapaki-pakinabang bilang isang paraan upang makilala ang problemang driver.

Bukod dito, ito ay lalong kapansin-pansin para sa katotohanan na sa tulong nito posible na tingnan ang BSOD (asul na screen ng kamatayan) na parang nasa isang freeze frame, tulad ng noong nag-crash ang system. Ipinapakita nito ang oras at petsa ng pagkabigo, impormasyon tungkol sa driver o module na may bersyon at maikling paglalarawan. Bilang karagdagan, ang utility ay magagamit sa maraming wika, kabilang ang Russian. Kaya ang BlueScreenView utility ay ang bagay lamang kung kailangan mong gumawa mabilis na pagsusuri memory dumps sa panahon ng BSOD.

Para sa pangalawang paraan kailangan mong i-install ang Debugging Tools para sa Windows at i-download din ang bsdos_utility utility. Susunod, pagkatapos i-unpack ang bsdos_utility.cmd script, dapat mong ilipat ito sa C:\ drive (maaari kang lumikha hiwalay na folder, ngunit ito ay nagkakahalaga ng pagtanda na ang script launch address line ay magiging iba sa aming halimbawa). Pagkatapos ay sa command line dapat isulat:

C:\bsdos_utility.cmd

Pagkatapos magpakita ng listahan ng lahat ng dumps mula sa listahang C:\Windows\Minidump\, pagkatapos nito ay itatanong ng script kung aling dump ang dapat suriin. Maaari mo ring piliin ang kinakailangang minidump sa iyong sarili kapag pinapatakbo ang script:

Sa katulad na paraan posible na makita ang masa Mga error sa Windows 10, na naging sanhi ng BSOD, pati na rin ang mga problemang .exe program na nagdulot ng asul na screen.

Ang mga error ay madalas na nangyayari sa Windows OS, kahit na sa kaso ng isang "malinis" na sistema. Kung karaniwang pagkakamali maaaring malutas ang mga programa (lumalabas ang isang mensahe tungkol sa isang nawawalang bahagi), kung gayon ang pag-aayos ng mga kritikal na error ay magiging mas mahirap.

Ano ang memory dump sa Windows

Upang malutas ang mga problema sa system, karaniwang ginagamit ang isang crash memory dump - ito ay isang larawan bahagi o lahat ng RAM at ilagay ito sa isang non-volatile medium ( hard drive). Sa madaling salita, ang mga nilalaman ng RAM ay ganap o bahagyang kinopya sa media, at maaaring suriin ng user ang memory dump.

Mayroong ilang mga uri ng memory dumps:

Maliit na tambakan(Small Memory Dump) – nagse-save ng pinakamababang halaga ng RAM, na naglalaman ng impormasyon sa mga kritikal na error (BSoD) at mga bahagi na na-load sa panahon ng pagpapatakbo ng system, halimbawa, mga driver, mga programa. MiniDump ay naka-imbak sa landas C:\Windows\Minidump.

Buong tambakan(Complete Memory Dump) – ang buong halaga ng RAM ay nai-save. Nangangahulugan ito na ang laki ng file ay magiging katumbas ng halaga ng RAM. Kung mayroong maliit na espasyo sa disk, magiging problema ang pag-save, halimbawa, 32 GB. Mayroon ding mga problema sa paggawa ng memory dump file na mas malaki sa 4 GB. Ang ganitong uri bihirang gamitin. Naka-imbak sa C:\Windows\MEMORY.DMP.

Dump memorya ng kernel– tanging impormasyon na nauugnay sa core ng system ang nai-save.

Kapag nasuri na ng user ang error, kailangan lang niyang gumamit ng minidamp (maliit na dump). Ngunit bago ito, dapat itong i-on, kung hindi man ay hindi makikilala ang problema. Gayundin, para mas mabisang matukoy ang isang pag-crash, mas mainam ang paggamit ng full memory snapshot.

Impormasyon sa rehistro

Kung titingnan mo ang Windows registry, makakahanap ka ng ilan kapaki-pakinabang na mga parameter mga larawan. I-click ang kumbinasyon ng Win+R key at ipasok ang command regedit at buksan ang mga sumusunod na sangay:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Sa sangay na ito mahahanap ng user ang mga sumusunod na parameter:

  • AutoReboot– paganahin o huwag paganahin ang pag-reboot pagkatapos lumikha ng isang asul na screen ng kamatayan (BSoD).
  • DumpFile– pangalan ng mga uri at lokasyon ng dump.
  • CrashDumpEnabled- numero nilikhang file, halimbawa, ang numero 0 – walang dump na nilikha; 1 – paglikha ng isang buong dump; 2 – paglikha ng isang pangunahing dump; 3 – paglikha ng isang maliit na dump.
  • DumpFilters– Binibigyang-daan ka ng opsyong ito na magdagdag ng mga bagong function bago kumuha ng snapshot. Halimbawa, ang pag-encrypt ng file.
  • MinidumpDir– ang pangalan ng maliit na tambakan at lokasyon nito.
  • LogEvent– pag-activate ng impormasyon sa pag-record sa log ng system.
  • MinidumpsCount– itakda ang bilang ng maliliit na dump na gagawin. (Ang paglampas sa bilang na ito ay sisira sa mga lumang file at papalitan ang mga ito).
  • I-overwrite– function para sa isang buong o system dump. Kapag gumagawa ng bagong larawan, ang nauna ay palaging papalitan ng bago.
  • DedicatedDumpFile- Paglikha alternatibong file larawan at indikasyon ng landas nito.
  • Huwag pansinin angPagefileSize– ginagamit para sa pansamantalang lokasyon ng snapshot, nang hindi gumagamit ng swap file.

Paano ito gumagana

Kung nangyari ang isang pagkabigo, ganap na ihihinto ng system ang operasyon nito at, kung aktibo ang paglalaglag, isusulat ito sa isang file na nakalagay sa disk. impormasyon tungkol sa problemang lumitaw. Kung may nangyari sa mga pisikal na bahagi, gagana ang isang emergency code, at ang hardware na nabigo ay gagawa ng ilang pagbabago, na tiyak na makikita sa snapshot.

Karaniwan ang file ay nai-save sa isang hard disk block na inilaan para sa paging file pagkatapos lumitaw ang isang BSoD, ang file ay na-overwrite sa uri na ang user mismo ang na-configure (Maliit, Buong o Core Dump). Bagaman, sa modernong mga operating system, ang paglahok ng paging file ay hindi kinakailangan.

Paano paganahin ang mga dump

SA Windows 7:

SA Windows 8 at 10:

Narito ang proseso ay medyo katulad, maaari kang makapasok sa impormasyon ng system sa parehong paraan tulad ng sa Windows 7. Sa "Sampu", siguraduhing buksan ang " Ang computer na ito", mag-click sa libreng espasyo kanang pindutan ng mouse at piliin ang " Mga Katangian" Ang isa pang paraan upang makarating doon ay sa pamamagitan ng Control Panel.

Pangalawang opsyon para sa Widows 10:


Dapat tandaan na sa mga bagong bersyon ng Windows 10 may mga bagong item na lumitaw na wala sa "pito":

  • Maliit na tambakan memorya 256 KB - minimum na data ng pagkabigo.
  • Aktibong dump– lumitaw sa ikasampung bersyon ng system at nai-save lamang ang aktibong memorya ng computer, ang kernel ng system at ang user. Inirerekomenda para sa paggamit sa mga server.

Paano magtanggal ng dump

Pumunta lamang sa direktoryo kung saan naka-imbak ang mga memory snapshot at tanggalin lamang ang mga ito. Ngunit may isa pang paraan upang alisin ito - gamit ang utility ng Disk Cleanup:

Kung walang nakitang mga item, maaaring hindi pinagana ang mga dump.

Kahit na minsan mong pinagana ang mga ito, ang ilang mga kagamitan sa pag-optimize ng system ay madali mong magagamit huwag paganahin ang ilang pag-andar. Kadalasan maraming bagay ang na-off habang ginagamit SSD drive, dahil ang paulit-ulit na mga pamamaraan sa pagbasa at pagsulat ay lubhang nakakapinsala sa kalusugan ng disk na ito.

Pagsusuri ng memory dump gamit ang WinDbg

Mag-download mula sa opisyal na website ng Microsoft programang ito sa hakbang 2, kung saan ito ay inilarawan “ Pag-installWDK" - https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk.

Upang gumana sa programa kakailanganin mo rin ng isang espesyal na pakete ng mga simbolo ng pag-debug. Ito ay tinatawag Mga Simbolo sa Pag-debug, dati ay maaari itong ma-download mula sa website ng Microsoft, ngunit ngayon ay tinalikuran na nila ang ideyang ito at kakailanganing gamitin ang function Mga file program — « Symbol File Path", saan ako papasok susunod na linya at i-click ang OK:

itakda ang _NT_SYMBOL_PATH=srv*DownstreamStore*https://msdl.microsoft.com/download/symbols

Kung hindi ito gumana, subukan ang command na ito:

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

I-click muli ang "File" at piliin ang opsyong "I-save ang Workspace".

Ang utility ay na-configure. Ang natitira na lang ay tukuyin ang landas sa memory dump file. Upang gawin ito, i-click ang File at i-click ang opsyon na “ OpanulatBumagsakDump" Ang lokasyon ng lahat ng mga dump ay ipinahiwatig sa simula ng artikulo.

Pagkatapos ng pagpili, magtatapos ang pagsusuri at awtomatikong mai-highlight ang may problemang bahagi. Upang makatanggap higit pa impormasyon sa parehong window maaari mong ipasok ang sumusunod na command: !suriin –v

Pagsusuri gamit ang BlueScreenView

Maaari mong i-download ang tool nang libre mula sa site na ito - http://www.nirsoft.net/utils/blue_screen_view.html. Ang pag-install ay hindi nangangailangan ng anumang mga kasanayan. Ginagamit lang sa Windows 7 at mas mataas.

Inilunsad namin at i-configure. I-click ang “Options” – “ Mga karagdagang opsyon"(Mga Advanced na Opsyon). Piliin ang unang item " I-load ang MiniDumps mula sa folder na ito"at ipahiwatig ang direktoryo - C:\WINDOWS\Minidump. Bagama't maaari mong i-click lamang ang pindutang "Default". I-click ang OK.

Dapat lumabas ang mga dump file sa pangunahing window. Maaari itong maging isa o ilan. Upang buksan ito, i-click lamang ito gamit ang mouse.

Ipapakita sa ibaba ng window ang mga bahagi na tumatakbo sa oras ng pagkabigo. Ang taong responsable sa aksidente ay iha-highlight sa pula.

Ngayon i-click ang "File" at piliin, halimbawa, ang item na " Hanapin sa Google error code + driver" Kung nahanap mo ang driver na kailangan mo, i-install at i-restart ang iyong computer. Marahil ay mawawala ang pagkakamali.

Ang isa sa mga pinakakaraniwang pagkabigo sa Windows ay ang mga pagbubukod sa system, na nakikita ng gumagamit sa anyo ng isang "asul na screen ng kamatayan" (BSOD). Bilang isang tuntunin, ito nakamamatay na pagkakamali nangyayari alinman dahil sa isang malfunction ng mga driver, hardware (karaniwan ay kapag naglo-load ng OS) o dahil sa pagkilos ng mga virus at antivirus.

Ang asul na screen ng kamatayan ay naglalaman ng impormasyon tungkol sa mga dahilan na naging sanhi ng pagbubukod (sa anyo ng isang STOP error code ng form na 0x0000007b), mga address ng memorya na na-access kapag naganap ang isang pagbubukod, at iba pang kapaki-pakinabang na impormasyon. Ang nasabing impormasyon ay tinatawag na STOP error, ang mga variable na parameter na kung saan ay tiyak na mga address ng memorya. Minsan naglalaman din ito ng pangalan ng file na naging sanhi ng pagbubukod.

Ang lahat ng impormasyong ito ay hindi ipinapakita sa screen nang matagal (hanggang sa 100 segundo), pagkatapos nito ay nag-reboot ang computer. Sa maikling panahong ito, bilang panuntunan, ang isang memory dump ay nabuo at nakasulat sa isang file. Isa sa mga importante mga propesyonal na paraan diagnosis ng kasalanan - pagtatasa ng memory dump, na tatalakayin nang detalyado sa artikulong ito.

Ano ang dump

  • dump (Ingles) – tambak ng basura; tambakan; butas; slum.
  • dump (memory dump) – 1) dump, na naglalabas ng mga nilalaman ng RAM upang i-print o i-screen; 2) isang "snapshot" ng RAM; data na nakuha bilang resulta ng paglalaglag; 3) pang-emergency na pag-alis, pag-shutdown, pag-reset.
  • paglalaglag – paglalaglag, pagtanggal ng dump.

Ang mga setting para sa pag-save ng memory dump ay naka-imbak sa pagpapatala ng system Windows.

Impormasyon tungkol sa memory dump sa system Registry:

Sa seksyon Windows Registry may nakitang crash dump ang mga sumusunod na parameter:

– REG_DWORD parameter AutoReboot na may halagang 0×1 (opsyon Awtomatikong i-reboot ang auxiliary window na Boot at Restore ng dialog box ng System Properties);

– REG_DWORD parameter CrashDumpEnabled na may value na 0×0, kung hindi nalikha ang memory dump; 0×1 – Kumpletuhin ang memory dump; 0×2 – Kernel memory dump; 0x3 – Maliit na memory dump (64KB);

– REG_EXPAND_SZ DumpFile parameter na may default na halaga %SystemRoot%\MEMORY.DMP (dump file storage location);

– REG_DWORD parameter LogEvent na may default na value na 0×1 (opsyon Log event sa system log ng Boot and Recovery window);

– REG_EXPAND_SZ MinidumpDir parameter na may default na halaga %SystemRoot%\Minidump (Maliit na dump folder na opsyon ng Boot at Recovery window);

– REG_DWORD parameter I-overwrite na may default na halaga na 0×1 (opsyon I-overwrite ang umiiral nang dump file ng Boot and Restore window);

– REG_DWORD parameter SendAlert na may default na halaga na 0x1 (opsyon Ipadala administratibong alerto ng Boot at Recovery window).

Paano gumagawa ang system ng crash dump file

Sa panahon ng boot, sinusuri ng operating system ang mga setting ng crash dump sa registry key. Kung hindi bababa sa isang parameter ang tinukoy, ang system ay bubuo ng isang mapa ng mga bloke ng disk na inookupahan ng paging file sa dami ng boot, at iniimbak ito sa memorya. Tinutukoy din ng system kung aling driver aparatong disk namamahala sa dami ng boot, kinakalkula mga checksum para sa imahe ng driver sa memorya at para sa mga istruktura ng data na dapat na integer para sa driver upang maisagawa ang mga operasyon ng I/O.

Pagkatapos ng isang pagkabigo, sinusuri ng kernel ng system ang integridad ng mapa ng file ng pahina, disk driver, at mga istruktura ng kontrol ng disk driver. Kung ang integridad ng mga istrukturang ito ay hindi nilabag, pagkatapos ay ang system core ay tumatawag mga espesyal na function I/O disk driver, na idinisenyo para mag-save ng memory image pagkatapos ng system failure. Ang mga function ng I/O na ito ay self-contained at hindi umaasa sa mga serbisyo ng kernel dahil ang mga program na responsable sa pagsusulat ng crash dump ay hindi maaaring gumawa ng anumang mga pagpapalagay tungkol sa kung aling mga bahagi ng kernel ng system o mga driver ng device ang nasira kapag naganap ang pag-crash. Ang kernel ng system ay nagsusulat ng data mula sa memorya hanggang sa mapa ng sektor ng paging file (hindi nito kailangang gumamit ng mga driver ng file system).

Una, sinusuri ng kernel ng system ang katayuan ng bawat bahagi na kasangkot sa proseso ng dump. Ginagawa ito upang kapag direktang sumulat sa mga sektor ng disk, hindi ito makapinsala sa data na matatagpuan sa labas ng file ng pahina. Ang laki ng file ng page ay dapat na 1MB mas malaking sukat pisikal na memorya, dahil kapag ang impormasyon ay isinulat sa isang dump, isang header ang nilikha na naglalaman ng crash dump signature at ang mga halaga ng ilang mahahalagang variable ng kernel ng system. Ang header ay mas mababa sa 1MB, ngunit maaaring dagdagan (o bawasan) ng operating system ang laki ng page file nang hindi bababa sa 1MB.

Pagkatapos ng system boot Tagapamahala ng Session(Windows NT Session Manager; disk address - \WINDOWS\system32\smss.exe) ay nagpapasimula ng mga file ng pahina ng system, na ginagamit upang likhain ang bawat file sariling function NtCreatePagingFile. Tinutukoy ng NtCreatePagingFile kung umiiral ang file ng page na sinisimulan at, kung gayon, kung mayroon itong dump header. Kung mayroong header, magpapadala ang NtCreatePagingFile ng espesyal na code sa Session Manager. Pagkatapos nito, magsisimula ang Session Manager Proseso ng Winlogon(Windows NT Logon Program; ang disk address ay \WINDOWS\system32\winlogon.exe) na inaabisuhan ng pagkakaroon ng crash dump. Winlogon ang nagpapatakbo ng SaveDump program (Windows NT Memory Copy Program; disk address - \WINDOWS\system32\savedump.exe), na nag-parse ng dump header at tinutukoy karagdagang mga aksyon sa isang emergency.

Kung ang header ay nagpapahiwatig ng pagkakaroon ng isang dump, pagkatapos ay kinokopya ng SaveDump ang data mula sa file ng page patungo sa crash dump file, ang pangalan nito ay tinukoy ng REG_EXPAND_SZ na parameter ng seksyong DumpFile ng Registry. Habang isinusulat muli ng SaveDump ang dump file, hindi ginagamit ng operating system ang bahagi ng page file na naglalaman ng crash dump. Sa oras na ito ang lakas ng tunog virtual memory, na magagamit sa system at mga application, ay nababawasan ng laki ng dump (kasabay nito, ang mga mensahe ay maaaring lumitaw sa screen na nagpapahiwatig ng kakulangan ng virtual memory). Pagkatapos ay ipinapaalam ng SaveDump sa memory manager na ang dump ay nakumpleto na ang pag-save, at inilabas nito ang bahagi ng page file kung saan ang dump ay naka-imbak para sa pangkalahatang paggamit.

Pagkatapos i-save ang dump file, itinatala ng SaveDump program ang paglikha ng crash dump sa System event log, halimbawa: "Na-reboot ang computer pagkatapos ng kritikal na error: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000d, 0xc64d). Na-save ang memory copy: C:\WINDOWS\Minidump\Mini060309-01.dmp".

Kung pinagana ang opsyon na Magpadala ng administratibong alerto, magpapadala ang SaveDump ng alerto sa administrator.

Mga uri ng dump

  • Buong memory dump Itinatala ang lahat ng nilalaman memorya ng system kapag may nangyaring fatal error. Para sa opsyong ito, dapat ay mayroon kang paging file sa boot volume, ang laki nito ay katumbas ng halaga ng lahat ng pisikal na RAM plus 1MB. Default buong dump memory ay nakasulat sa file %SystemRoot%\Memory.dmp. Kahit kailan bagong error at paglikha ng bagong full memory dump file (o kernel memory dump) nakaraang file ay pinalitan (overwritten). Ang opsyong Full memory dump ay hindi available sa mga PC na mayroong 32-bit operating system at 2 gigabytes o higit pa sa RAM.

Kapag may naganap na bagong error at may nabuong bagong full memory dump file, papalitan ang dating file.

  • Kernel memory dump nagsusulat lamang ng kernel memory, na ginagawang mas mabilis ang proseso ng pagsulat ng data sa log kapag biglang huminto ang system. Depende sa dami ng pisikal na memorya ng PC, sa kasong ito ang paging file ay nangangailangan ng 50 hanggang 800MB o isang third ng pisikal na memorya ng computer sa boot volume. Bilang default, ang kernel memory dump ay isinulat sa %SystemRoot%\Memory.dmp file.

Ang dump na ito ay hindi kasama ang hindi inilalaang memorya o memorya na inilaan sa mga programa ng user-mode. Kasama lang dito ang memorya na nakalaan sa kernel at hardware-dependent layer (HAL) sa Windows 2000 at mga susunod na bersyon ng system, pati na rin ang memorya na inilaan sa mga driver ng kernel-mode at iba pang mga kernel-mode na programa. Sa karamihan ng mga kaso, ang naturang dump ay ang pinaka-kanais-nais na opsyon. Ito ay tumatagal ng mas kaunting espasyo kaysa sa isang buong memory dump, habang hindi kasama lamang ang mga sektor ng memorya na malamang na hindi nauugnay sa error.
Kapag may naganap na bagong error at isang bagong kernel memory dump file ang nalikha, ang dating file ay papalitan.

  • Maliit na memory dump nagsusulat ng pinakamaliit na volume kapaki-pakinabang na impormasyon kinakailangan upang matukoy ang sanhi ng problema. Upang lumikha ng isang maliit na memory dump, ang laki ng file ng page ay dapat na hindi bababa sa 2MB sa boot volume.

Ang mga maliliit na memory dump file ay naglalaman ng sumusunod na impormasyon:

  • Nakamamatay na mensahe ng error, mga parameter nito at iba pang data;
  • listahan ng mga naka-load na driver;
  • ang konteksto ng processor (PRCB) kung saan nangyari ang pagkabigo;
  • impormasyon sa proseso at konteksto ng kernel (EPROCESS) para sa prosesong naging sanhi ng error;
  • iproseso ang impormasyon at konteksto ng kernel (ETHREAD) para sa thread na naging sanhi ng error;
  • Ang kernel-mode call stack para sa thread na naging sanhi ng error.

Ang maliit na memory dump file ay ginagamit kapag ang hard disk space ay limitado. Gayunpaman, dahil sa limitadong impormasyong nilalaman nito, ang pagsusuri sa file na ito ay maaaring hindi palaging makakita ng mga error na hindi direktang sanhi ng thread na tumatakbo noong nangyari ang error.

Kapag nangyari ang susunod na error at nalikha ang pangalawang maliit na memory dump file, nai-save ang nakaraang file. Sa lahat karagdagang file isang natatanging pangalan ang ibinigay. Ang petsa ay naka-encode sa pangalan ng file. Halimbawa, ang Mini051509-01.dmp ay ang unang memory dump file na nilikha noong Mayo 15, 2009. Ang isang listahan ng lahat ng maliliit na memory dump file ay nakaimbak sa folder %SystemRoot%\Minidump.

operating room Sistema ng Windows Ang XP ay walang alinlangan na mas maaasahan mga nakaraang bersyon, – salamat sa mga pagsisikap ng parehong mga developer ng Microsoft at mga developer ng driver hardware, at mga developer ng software ng application. Gayunpaman, ang mga sitwasyong pang-emergency - lahat ng uri ng mga pagkabigo at pag-crash ng system - ay hindi maiiwasan, at kung ang gumagamit ng PC ay may kaalaman at kasanayan upang alisin ang mga ito ay depende sa kung kailangan niyang gumugol ng ilang minuto sa pag-troubleshoot (halimbawa, pag-update/pag-debug ng driver o muling pag-install ng isang application). pagkabigo ng system), – o ilang oras upang muling i-install/i-configure ang operating system at application software (na hindi ginagarantiyahan ang kawalan ng mga pagkabigo at pag-crash sa hinaharap!).

marami mga tagapangasiwa ng system napapabayaan pa rin ang pagsusuri ng mga crash dump ng Windows, sa paniniwalang ang pagtatrabaho sa kanila ay napakahirap. Mahirap, ngunit posible: kahit na, halimbawa, ang pagsusuri ng isang dump sa sampu ay naging matagumpay, ang mga pagsisikap na ginugol sa pag-master ng pinakasimpleng mga diskarte para sa pagsusuri ng mga crash dump ay hindi magiging walang kabuluhan!..

Magbibigay ako ng mga halimbawa mula sa aking "sysadmin" na pagsasanay.

SA lokal na network wala maliwanag na dahilan("hardware" ay maayos, ang kawalan ng mga virus ay garantisadong, ang mga gumagamit ay may "normal na mga kamay") ilang mga workstation na may Windows XP SP1/SP2 "nakasakay" ay pinatay. Hindi posible na i-boot ang mga computer sa normal na mode - nakarating ito sa "Pagbati" - at tumagal nang tuluyan ang pag-reboot. Kasabay nito, ang mga PC ay nag-boot sa Safe Mode.

Ang pag-aaral ng memory dumps ay naging posible upang matukoy ang sanhi ng malfunction: ang salarin ay naging Kaspersky antivirus, o sa halip, sariwa. mga database ng antivirus(mas tiyak, dalawang database modules – base372c.avc, base032c.avc).

...May isa pang ganoong kaso. Sa isang lokal na PC na nagpapatakbo ng Windows XP SP3, naganap ang pag-reboot kapag sinusubukang buksan ang mga video file sa mga format na .avi at .mpeg. Ang pag-aaral sa memory dump ay nagpapahintulot sa amin na matukoy ang sanhi ng malfunction - ang nv4_disp.dll file ng driver ng video card NVIDIA GeForce 6600. Pagkatapos i-update ang driver, nalutas ang problema. Sa pangkalahatan, ang driver ng nv4_disp.dll ay isa sa mga pinaka-hindi matatag na driver, na madalas na humantong sa BSOD.

Sa parehong mga kasong ito, ang pag-aaral sa crash memory dump ay naging posible upang mabawasan ang oras para sa pag-diagnose at pag-aalis ng malfunction sa pinakamababa (ilang minuto!).

Pagsusuri ng memory dump

Mayroong maraming mga programa para sa pagsusuri ng mga crash memory dump, halimbawa, DumpChk, Kanalyze, WinDbg.

Tingnan natin ang pagsusuri sa mga crash memory dump gamit ang WinDbg program (kasama sa Debugging Mga kasangkapan para sa Windows).

Pag-install ng Mga Tool sa Pag-debug

  • bisitahin ang Web site ng Microsoft Corporation http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • i-download ang Debugging Tools para sa Windows, halimbawa, para sa isang 32-bit na bersyon ng Windows magagawa ito sa pahina ng I-download ang Debugging Tools para sa Windows;
  • pagkatapos mag-download, tumakbo file ng pag-install;
  • sa Debugging Tools para sa Windows Setup Wizard window, i-click ang Susunod;
  • sa bintana na may kasunduan sa lisensya itakda ang switch Sumasang-ayon ako -> Susunod;
  • sa susunod na window, piliin ang uri ng pag-install (bilang default, ang mga tool sa pag-debug ay naka-install sa folder na \Program Files\Debugging Tools para sa Windows) -> Susunod -> I-install -> Tapusin;
  • Upang bigyang-kahulugan ang mga memory dump file, dapat mo ring i-download ang Symbol Packages para sa iyong bersyon ng Windows - pumunta sa pahina ng Download Windows Symbol Packages;
  • piliin ang iyong bersyon ng Windows, i-download at patakbuhin ang file ng pag-install ng Symbol Packages;
  • sa window na may kasunduan sa lisensya, i-click ang Oo;
  • sa susunod na window, piliin ang folder ng pag-install (ang default ay \WINDOWS\Symbols) -> OK -> Oo;
  • sa bintana Microsoft Windows Mga simbolo na may mensaheng "Kumpleto na ang pag-install" i-click ang OK.

Paggamit ng WinDbg para Pag-aralan ang Crash Dumps

  • patakbuhin ang WinDbg (naka-install sa folder na \Program Files\Debugging Tools para sa Windows);
  • piliin ang menu File -> Symbol File Path...;
  • sa window ng Symbol Search Path, i-click ang Browse... button;
  • sa window ng Browse Folder, tukuyin ang lokasyon ng folder ng Symbols (bilang default – \WINDOWS\Symbols) -> OK -> OK;
  • piliin ang menu File -> Buksan ang Crash Dump... (o pindutin ang Ctrl + D);
  • sa Open Crash Dump window, tukuyin ang lokasyon ng Crash Dump File (*.dmp) -> Buksan;
  • sa window ng Workspace na may tanong na "I-save impormasyon para sa workspace?", lagyan ng tsek ang Don"t ask again -> No box;
  • Magbubukas ang Command Dump window sa WinDbg window<путь_и_имя_файла_дампа>may pagtatasa ng dump;
  • suriin ang pagtatasa ng memory dump;
  • sa seksyong "Pagsusuri ng Bug" ay ipahiwatig posibleng dahilan pag-crash, halimbawa, "Marahil ay sanhi ng: smwdm.sys (smwdm+454d5)";
  • upang tingnan detalyadong impormasyon i-click ang link na "!analyze -v" sa linyang "Gamitin ang !analyze -v upang makakuha ng detalyadong impormasyon sa pag-debug";
  • isara ang WinDbg;
  • Gamitin ang impormasyong nakuha upang maalis ang sanhi ng problema.

Halimbawa, sa sumusunod na screenshot ang sanhi ng malfunction ay ang nv4_disp.dll file ng driver ng video card.

Ang maikling tala na ito ay naglalayong ipakita kung paano mo mako-configure ang system upang makakuha ng emergency Windows memory dump, iyon ay, isang dump na maaaring malikha kung ang isang kritikal na pagkabigo ay nangyari, na nailalarawan sa pamamagitan ng hitsura ng isang asul na screen ng kamatayan (BSOD). Ano ang isang dump sa pangkalahatan, bakit kailangan natin ito at ano ito, anong mga problema ang nilalayon nitong lutasin at anong impormasyon ang nilalaman nito?

Memory dump - mga nilalaman gumaganang memorya proseso, kernel o buong operating system, kabilang ang, bilang karagdagan sa mga lugar ng trabaho, karagdagang impormasyon tungkol sa estado ng mga rehistro ng processor, ang mga nilalaman ng stack at iba pang istruktura ng serbisyo.

Bakit maaaring kailanganin natin ang nilalamang ito, ibig sabihin. Windows memory dump? Marahil ang pinakakaraniwang paggamit ng memory dump ay pag-aralan ang mga sanhi ng pagkabigo ng system (), na naging sanhi ng tuluyang paghinto ng operating system. Bilang karagdagan dito, ang katayuan ng memorya ay maaaring gamitin para sa iba pang mga layunin. Mahalaga rin na ang isang memory dump ay literal ang tanging paraan makatanggap ng impormasyon tungkol sa anumang pagkabigo! At ang pagkuha (pagkuha) ng system memory dump ay, sa katunayan, ang tanging tumpak na paraan ng pagkuha ng instant fingerprint (kopya) ng mga nilalaman ng pisikal na memorya ng system.

Kung mas tumpak na ang mga nilalaman ng dump ay sumasalamin sa estado ng memorya sa oras ng pagkabigo, mas detalyadong magagawa nating pag-aralan ang sitwasyong pang-emergency. Samakatuwid, napakahalaga na makakuha ng up-to-date na kopya ng pisikal na memorya ng system sa isang mahigpit na tinukoy na punto sa oras kaagad bago ang pagkabigo. At ang tanging paraan upang gawin ito ay ang lumikha ng isang buong crash dump. Ang dahilan ay medyo maliit - kapag ang isang crash dump ng memorya ng system ay nangyari, alinman bilang isang resulta ng isang pagkabigo o bilang isang resulta ng isang artipisyal na kunwa sitwasyon, ang system sa sandaling ito ng pagtanggap ng kontrol ng mga emergency function (KeBugCheckEx) ay nasa isang ganap na hindi nagbabago (static) na estado, samakatuwid, sa pagitan ng sandaling nangyari ang pagkabigo at sa sandaling ang data ay isinulat sa media, walang nagbabago sa mga nilalaman ng pisikal na memorya, at ito ay nakasulat sa disk sa orihinal na estado nito. Well, ito ay nasa teorya, ngunit paminsan-minsan sa buhay, ngunit may mga sitwasyon kung saan, dahil sa mga sira na bahagi ng hardware, ang memory dump mismo ay maaaring masira, o ang istasyon ay maaaring mag-freeze habang nire-record ang dump.

Sa karamihan ng mga kaso, mula sa sandaling magsimula ang proseso ng paglikha ng crash memory dump hanggang sa pagtatapos ng pagsulat ng mga nilalaman ng memorya sa disk, ang impormasyon sa memorya ay nananatiling hindi nagbabago.

Theoretically, ang static (immutability) ng memory "fingerprint" ay ipinaliwanag sa pamamagitan ng katotohanan na kapag tinawag ang KeBugCheckEx function, na nagpapakita ng impormasyon tungkol sa pagkabigo at nagsisimula sa proseso ng paglikha ng memory dump, ang system ay ganap na huminto at ang ang mga nilalaman ng pisikal na memorya ay isinulat sa mga bloke na inookupahan sa disk ng paging file pagkatapos nito, sa panahon ng kasunod na paglo-load ng operating system, ito ay na-reset sa isang file sa system media. Well, halos isang beses ko naobserbahan ang isang sitwasyon kung saan ang isang may sira motherboard pumigil sa akin sa pag-save ng memory dump: a) pagyeyelo habang tumatakbo ang dump saving logic (ang proseso ay hindi umabot sa 100%), b) pagkasira ng memory dump file (nagreklamo ang debugger tungkol sa mga istruktura), c) pagsulat ng memory.dmp dump mga file na walang haba. Samakatuwid, sa kabila ng katotohanan na ang system ay ganap na tumigil sa oras na ang memory dump ay nilikha, at ang emergency code lamang ang tumatakbo, ang may sira na hardware ay maaaring gumawa ng mga pagsasaayos sa anumang lohika nang walang pagbubukod sa anumang yugto ng operasyon.
Ayon sa kaugalian, sa unang yugto, ang mga bloke ng disk na inilalaan sa pagefile ay ginagamit upang i-save ang isang Windows memory dump. Pagkatapos, pagkatapos magkaroon ng asul na screen at mag-reboot, ililipat ang data sa hiwalay na file, at pagkatapos ay pinapalitan ang pangalan ng file gamit ang isang pattern depende sa uri ng dump. Gayunpaman, simula sa bersyon Windows Vista, ang kalagayang ito ay maaaring mabago, ngayon ang gumagamit ay binibigyan ng pagkakataon na i-save ang isang napiling dump nang walang paglahok ng isang paging file, na naglalagay ng impormasyon tungkol sa kabiguan sa pansamantalang file. Ginawa ito upang maalis ang mga error sa pagsasaayos na nauugnay sa maling setting ang laki at posisyon ng paging file, na madalas na humantong sa mga problema sa panahon ng proseso ng pag-save ng memory dump.
Tingnan natin kung anong mga uri ng dump ang pinapayagan ng Windows operating system na gawin natin:

  • Proseso (application) memory dump;
  • Kernel memory dump;
  • Full memory dump (dump ng available na bahagi ng physical memory ng system).

Ang lahat ng crash dump ay maaaring nahahati sa dalawang pangunahing kategorya:

  • Mga crash dump na may impormasyon tungkol sa naganap na pagbubukod. Karaniwang nilikha sa awtomatikong mode, kapag ang isang hindi nahawakang pagbubukod ay nangyari sa application/kernel at, nang naaayon, ang system (built-in) na debugger ay maaaring tawagan. Sa kasong ito, ang impormasyon tungkol sa pagbubukod ay naitala sa isang dump, na ginagawang mas madaling matukoy ang uri ng pagbubukod at kung saan ito naganap sa kasunod na pagsusuri.
  • Mga crash dump nang walang exception na impormasyon. Karaniwang ginawa ng user nang manu-mano kapag kailangan lang na gumawa ng snapshot ng isang proseso para sa kasunod na pagsusuri. Ang pagsusuri na ito ay hindi nagpapahiwatig ng pagtukoy sa uri ng pagbubukod, dahil walang eksepsiyon ang naganap, ngunit isang pagsusuri ng isang ganap na naiibang uri, halimbawa, pag-aaral ng mga istruktura ng data ng isang proseso at iba pa.

Configuration ng kernel memory dump

Dapat kang naka-log in sa ilalim ng administratibo account upang maisagawa ang mga hakbang na inilarawan sa seksyong ito.

Dumiretso tayo sa pag-configure ng mga setting ng crash dump ng Windows. Una, kailangan nating pumunta sa window ng system properties sa isa sa mga sumusunod na paraan:

  1. Mag-right-click sa icon na "My Computer" - "Properties" - "Advanced system settings" - "Advanced".
  2. Button na "Start" - "Control Panel" - "System" - "Mga advanced na setting ng system" - "Advanced".
  3. Keyboard shortcut na "Windows" + "I-pause" - "Mga advanced na setting ng system" - "Advanced".

  4. control system.cpl,3
  5. Patakbuhin sa command line (cmd):
    SystemPropertiesAdvanced

Ang resulta ng inilarawan na mga aksyon ay upang buksan ang window ng "System Properties" at piliin ang tab na "Advanced":

Pagkatapos nito, sa seksyong "Boot and Recovery" nag-click kami, piliin ang "Mga Pagpipilian" at sa gayon ay magbukas ng bagong window na tinatawag na "I-download at Pagbawi":

Ang lahat ng mga parameter ng crash dump ay nakapangkat sa isang bloke ng parameter na tinatawag na "System Failure." Sa block na ito maaari naming itakda ang mga sumusunod na parameter:

  1. Sumulat ng mga kaganapan sa log ng system.
  2. Magsagawa ng awtomatikong pag-reboot.
  3. Pagre-record ng impormasyon sa pag-debug.
  4. Dump file.
  5. Palitan ang isang umiiral na dump file.

Tulad ng nakikita mo, marami sa mga parameter mula sa listahan ay medyo walang halaga at madaling maunawaan. Gayunpaman, gusto kong ipaliwanag ang parameter na "Dump File". Ang parameter ay ipinakita bilang isang drop-down na listahan at may apat na posibleng mga halaga:

Maliit na memory dump

Ang maliit na memory dump (minidump) ay isang file na naglalaman ng pinakamaliit na halaga ng impormasyon tungkol sa pagkabigo. Ang pinakamaliit sa lahat ng posibleng memory dump. Sa kabila ng malinaw na mga disadvantages, ang mga minidumps ay kadalasang ginagamit bilang impormasyon tungkol sa isang pagkabigo na maipadala sa supplier. mga driver ng third party para sa karagdagang pag-aaral.
Tambalan:

  • Mensahe ng error.
  • Halaga ng error.
  • Mga parameter ng error.
  • Ang konteksto ng processor (PRCB) kung saan nangyari ang pagkabigo.
  • Iproseso ang impormasyon at konteksto ng kernel (EPROCESS) para sa proseso ng pag-crash at lahat ng mga thread nito.
  • Iproseso ang impormasyon at konteksto ng kernel (ETHREAD) para sa thread na nagdudulot ng pag-crash.
  • Ang kernel mode stack para sa thread na naging sanhi ng pag-crash.
  • Listahan ng mga na-load na driver.

tirahan: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Kung saan ang MMDDYY ay ang buwan, araw at taon, ayon sa pagkakabanggit, ang NN ay serial number itapon.
Volume: Depende ang laki sa bitness ng operating system: 128 kilobytes lang ang kailangan para sa 32-bit at 256 kilobytes para sa 64-bit OS sa paging file (o sa file na tinukoy sa DedicatedDumpFile). Dahil hindi kami makakapagtakda ng ganoong kaliit na sukat, bilugan namin ito hanggang 1 megabyte.

Kernel memory dump

Ang ganitong uri ng dump ay naglalaman ng isang kopya ng lahat ng kernel memory sa oras ng pag-crash.
Tambalan:

  • Listahan ng mga tumatakbong proseso.
  • Ang estado ng kasalukuyang thread.
  • Ang mga pahina ng memorya ng kernel-mode ay nasa pisikal na memorya sa oras ng pag-crash: memorya ng driver ng kernel-mode at memorya ng programa ng kernel-mode.
  • Memorya ng antas na umaasa sa hardware (HAL).
  • Listahan ng mga na-load na driver.

Ang kernel memory dump ay nawawala ang hindi inilalaang memory page at user mode page. Sumang-ayon, hindi malamang na ang mga pahina ng proseso ng user-mode ay magiging interesado sa amin sa panahon ng pag-crash ng system (BugCheck), dahil ang mga pag-crash ng system ay kadalasang sinisimulan ng kernel-mode code.

Sukat: Nag-iiba depende sa laki ng kernel address space na inilalaan ng operating system at ang bilang ng mga driver ng kernel mode. Karaniwan, humigit-kumulang isang katlo ng pisikal na memorya ang kinakailangan sa swap file (o sa file na tinukoy sa DedicatedDumpFile). Maaaring mag-iba.

Kumpletuhin ang memory dump

Ang isang buong memory dump ay naglalaman ng isang kopya ng lahat ng pisikal na memorya (RAM) sa oras ng pag-crash. Alinsunod dito, ang buong nilalaman ng memorya ng system ay kasama sa file. Ito ay parehong isang kalamangan at isang malaking kawalan, dahil ang laki nito ay maaaring maging makabuluhan sa ilang mga server na may malaking halaga ng RAM.
Tambalan:

  • Lahat ng mga pahina ng "nakikitang" pisikal na memorya. Ito ang halos buong memorya ng system, maliban sa mga lugar na ginagamit ng hardware: BIOS, PCI space, atbp.
  • Data mula sa mga proseso na tumatakbo sa system sa oras ng pagkabigo.
  • Mga pahina ng pisikal na memorya na hindi nakamapa sa virtual address space, ngunit makakatulong sa pag-iimbestiga sa sanhi ng pagkabigo.

Bilang default, ang isang buong memory dump ay hindi kasama ang mga lugar ng pisikal na memorya na ginagamit ng BIOS.
Lokasyon: %SystemRoot%\MEMORY.DMP . Ang nakaraang dump ay na-overwrite.
Volume: Ang paging file (o ang file na tinukoy sa DedicatedDumpFile) ay nangangailangan ng volume na katumbas ng laki ng pisikal na memory + 257 megabytes (ang 257 MB na ito ay nahahati sa isang partikular na header + data ng driver). Sa katunayan, sa ilang mga OS, ang mas mababang threshold ng paging file ay maaaring itakda nang eksakto sa halaga ng pisikal na laki ng memorya.

Awtomatikong memory dump

Simula sa Windows 8/Windows Server 2012, isang bagong uri ng dump ang ipinakilala sa system na tinatawag na Automatic Memory Dump, na nakatakda bilang default na uri. Sa kasong ito, ang system mismo ang nagpapasya kung aling memory dump ang itatala sa kaganapan ng isang partikular na pagkabigo. Bukod dito, ang lohika ng pagpili ay nakasalalay sa maraming pamantayan, kabilang ang dalas ng "pag-crash" ng operating system.

Pagkatapos mong baguhin ang configuration ng Windows memory dump, maaaring kailanganin mong i-restart ang iyong computer.

Mga Setting ng Registry

Ang seksyon ng registry na tumutukoy sa mga parameter ng crash dump:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Mga Parameter:

Parameter Uri Paglalarawan
AutoReboot REG_DWORD Paganahin / huwag paganahin awtomatikong pag-reboot kapag nangyari ang BSOD.
CrashDumpEnabled REG_DWORD Ang uri ng dump na ginagawa.
  • 0 - huwag lumikha ng isang memory dump;
  • 1 - kumpletong memory dump;
  • 2 - kernel memory dump;
  • 3 - maliit na memory dump;
DumpFile REG_EXPAND_SZ Path at pangalan ng kernel memory dump at full memory dump.
DumpFilters REG_MULTI_SZ Filter ng driver sa memory dump driver stack. Pinapayagan kang magdagdag bagong functionality sa yugto ng paglikha ng mga crash dump. Halimbawa, ang pag-encrypt ng mga nilalaman ng dump. Ang pagpapalit ng halaga ay hindi inirerekomenda.
LogEvent REG_DWORD Pagre-record ng kaganapan sa log ng system.
MinidumpDir REG_EZPAND_SZ Path at pangalan ng maliit na memory dump.
MinidumpsCount REG_DWORD Pinakamataas na bilang ng maliliit na memory dump. Kapag nalampasan, magsisimulang ma-overwrite ang mga mas lumang bersyon.
I-overwrite REG_DWORD Palitan ang isang umiiral na dump file. Para lamang sa kernel memory dump at full memory dump.
Huwag pansinin angPagefileSize REG_DWORD Hindi pinapansin karaniwang file swap bilang isang lugar para sa pansamantalang (intermediate) na imbakan ng isang memory dump. Isinasaad na ang memory dump ay dapat isulat sa isang hiwalay na file. Ginamit kasabay ng opsyong DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Path at pangalan ng isang pansamantalang alternatibong file para sa pagtatala ng memory dump. Sa pangalawang pass, ililipat pa rin ang data sa DumpFile/MinidumpDir.

Manu-manong paggawa ng memory dump

Sa itaas ay inilarawan namin ang mga setting para sa awtomatikong paggawa ng system crash dump kung sakaling magkaroon ng kritikal na error, ibig sabihin hindi nahawakang pagbubukod sa kernel code. Ngunit sa totoong buhay, bilang karagdagan sa pag-crash ng operating system, may mga sitwasyon kung kailan kinakailangan upang makakuha ng dump ng memorya ng system sa isang tiyak na punto ng oras. Ano ang gagawin sa kasong ito? May mga paraan para makakuha ng snapshot ng lahat ng pisikal na memorya, halimbawa gamit ang .dump command sa mga debugger ng WinDbg/LiveKD. Ang LiveKD ay isang programa na nagbibigay-daan sa iyong patakbuhin ang Kd kernel debugger sa isang tumatakbong sistema sa lokal na mode. Ang WinDbg debugger ay mayroon ding katulad na tampok. Gayunpaman, ang on-the-fly dump method ay hindi tumpak dahil ang dump na nabuo sa kasong ito ay "inconsistent" dahil nangangailangan ng oras upang mabuo ang dump, at kung sakaling gamitin ang kernel mode debugger, ang system ay patuloy na tatakbo at gumagawa mga pagbabago sa mga pahina ng memorya.