Paano gumawa ng Windows 10 memory dump file Gamit ang WinDbg program para suriin ang crash memory dumps. Pagsusuri ng memory dump

Sa Windows 8, ipinakilala ng Microsoft ang isang bagong memory dump - isang opsyon na awtomatikong memory dump. Ang setting na ito ay nakatakda bilang default sa operating system. Sa Windows 10 ipinakilala bagong uri dump file - aktibong dump alaala. Para sa mga hindi nakakaalam, sa Windows 7 mayroon kaming maliit na dump, core dump at full core dump. Maaaring nagtataka ka kung bakit nagpasya ang Microsoft na likhain ito bagong parameter memory dump? Ayon kay Robert Simpkins, senior support engineer, ang isang awtomatikong memory dump ay maaaring lumikha ng suporta para sa pahina ng "system" sa configuration file.
Ang paging file configuration management system ay responsable para sa pamamahala sa laki ng paging file - iniiwasan nito ang hindi kinakailangang headroom o laki ng paging file. Ang pagpipiliang ito ay pangunahing ipinakilala para sa mga PC na tumatakbo sa mga SSD drive, na karaniwang mayroon mas maliit na sukat, ngunit isang malaking halaga RAM.

Mga pagpipilian sa memory dump

Ang pangunahing bentahe ng "Awtomatikong memory dump" ay pinapayagan nito ang subsystem session sa manager ng proseso na awtomatikong bawasan ang file ng pahina sa isang sukat na mas maliit kaysa sa laki ng RAM. Para sa mga hindi nakakaalam, ang session ng tagapamahala ng subsystem ay may pananagutan para sa pagsisimula ng system, ang kapaligiran ng pagsisimula para sa mga serbisyo at proseso na kinakailangan para mag-log in ang user sa system. Ito ay karaniwang nag-i-install ng isang pahina ng mga file sa virtual memory at sinisimulan ang proseso ng winlogon.exe.

Kung gusto mong baguhin ang iyong mga awtomatikong setting ng memory dump, narito kung paano ito gawin. I-click Mga susi ng Windows+ X at piliin ang - System. Susunod, mag-click sa " Mga karagdagang opsyon mga sistema - Advance Sistema Mga setting”.

Mag-click sa pindutan ng Advanced na mga setting ng system.

Dito makikita mo ang isang drop-down na menu kung saan nakasulat ang "Advanced".

Dito maaari mong piliin ang opsyon na gusto mo. Mga iminungkahing opsyon:

Walang memory dumps.
Maliit na memory dump.
Kernel memory dump.
Kumpletuhin ang memory dump.
Awtomatikong memory dump. Idinagdag sa Windows 8.
Aktibong memory dump. Idinagdag sa Windows 10.
Ang lokasyon ng memory dump file ay nasa %SystemRoot%\MEMORY.DMP file.

Kung ikaw ay gumagamit SSD drive, pagkatapos ay mas mahusay na iwanan ito sa "Awtomatikong memory dump"; ngunit kung kailangan mo ng crash dump file, pagkatapos ay mas mahusay na itakda ito sa "maliit na memory dump", kasama nito maaari mo, kung gusto mo, ipadala ito sa isang tao upang matingnan nila ito.

Sa ilang mga kaso, maaaring kailanganin mong dagdagan ang laki ng file ng page na mas malaki kaysa sa RAM upang magkasya ito sa isang buong memory dump. Sa ganitong mga kaso, kailangan mong lumikha ng isang registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

ito ay tinatawag na "LastCrashTime".

Awtomatiko nitong tataas ang laki ng swap file. Upang bawasan ito sa ibang pagkakataon, maaari mo lamang alisin ang key na ito.

Sa Windows 10 ipinakilala bagong file dump aktibong memory dump. Naglalaman lamang ito ng mga mahahalaga at samakatuwid ay mas maliit ang sukat.

Wala akong paraan upang subukan ito, ngunit ginawa ko ang key na ito at sinusubaybayan ang laki ng pagefile. Alam kong maya-maya ay magkakaroon ako ng kritikal na error. Pagkatapos ay susuriin ko ito.

Maaari mong pag-aralan ang dump Windows memory.dmp file sa pamamagitan ng WhoCrashed. Ang WhoCrashed Home ay isang libreng utility na nagbibigay ng mga driver na na-install sa iyong computer sa isang click. Sa karamihan ng mga kaso, maaari itong makilala ang isang may sira na driver na nagdudulot ng mga problema sa iyong computer. Isa itong system analysis crash dump, memory dumps, at lahat ng nakolektang impormasyon ay ipinakita dito sa isang naa-access na form.

Karaniwan, ang debugging toolkit ay magbubukas ng isang analysis crash dump. Sa utility na ito, hindi mo kailangan ng anumang kaalaman o kasanayan sa pag-debug upang malaman kung aling mga driver ang nagdudulot ng mga problema sa iyong computer.

Ang WhoCrashed ay umaasa sa isang debugging package (ang windbg program) mula sa Microsoft. Kung hindi naka-install ang package na ito, ida-download ng WhoCrashed at awtomatikong i-extract ang package na ito para sa iyo. Patakbuhin lamang ang programa at mag-click sa pindutang Pag-aralan. Kapag na-install mo ang WhoCrashed sa iyong system at kung nag-crash o nagsasara ito nang hindi inaasahan, ipapaalam sa iyo ng program kung pinagana ang crash dumping sa iyong computer at mag-aalok ito sa iyo ng mga mungkahi kung paano paganahin ang mga ito.

Gaano kadalas mo kailangang tumingin sa screen? pagkamatay ng Windows(BSoD)? Maaaring mangyari ang BSoD sa iba't ibang kaso: kapwa kapag nagtatrabaho sa system at sa panahon ng proseso ng boot operating system. Paano matukoy kung ano ang sanhi ng BSoD at ayusin ang problemang ito? operating room Sistema ng Windows ay nakakapag-save ng memory dump kapag may naganap na error, para masuri ng system administrator ang dump data at mahanap ang dahilan paglitaw ng BSoD.

Mayroong dalawang uri ng memory dumps - maliit (minidump) at puno. Depende sa mga setting ng operating system, ang system ay maaaring mag-save ng buo o maliliit na dump, o walang aksyon kapag may naganap na error.

Ang isang maliit na dump ay matatagpuan sa kahabaan ng landas %systemroot%\minidump at may pangalan tulad ng Minixxxxxx-xx.dmp
Ang buong dump ay matatagpuan sa kahabaan ng landas %systemroot% at may pangalan tulad ng Memory.dmp

Upang pag-aralan ang mga nilalaman ng memory dumps, dapat mong gamitin espesyal na utility- Microsoft Kernel Debugger.
Maaari mong makuha ang program at mga bahagi na kinakailangan para sa pagpapatakbo nito nang direkta mula sa website ng Microsoft - Mga Tool sa Pag-debug

Kapag pumipili ng isang debugger, dapat mong isaalang-alang ang bersyon ng operating system kung saan kailangan mong pag-aralan ang mga dump ng memorya. Para sa isang 32-bit na OS, ang 32-bit na bersyon ng debugger ay kinakailangan, at para sa isang 64-bit na OS, mas mainam na gamitin ang 64-bit na bersyon ng debugger.

Bilang karagdagan sa pakete mismo Mga Tool sa Pag-debug para sa Windows, kakailanganin mo rin ng isang hanay ng mga simbolo ng pag-debug - Mga Simbolo sa Pag-debug. Ang hanay ng mga simbolo ng pag-debug ay partikular sa bawat OS kung saan naitala ang BSoD. Samakatuwid, kakailanganin mong mag-download ng isang hanay ng mga simbolo para sa bawat OS na ang operasyon ay kailangan mong suriin. Ang 32-bit na Windows XP ay mangangailangan ng Windows XP 32-bit character set, at ang 64-bit OS ay mangangailangan ng Windows XP 64-bit na character set. Para sa ibang OS Pamilya sa Windows ang mga set ng character ay pinili ayon sa parehong prinsipyo. Maaari mong i-download ang mga simbolo ng pag-debug mula dito. Inirerekomenda na i-install ang mga ito sa %systemroot%\mga simbolo

Pagkatapos i-install ang mga simbolo ng debugger at debug, ilunsad ang debugger. Ang debugger window pagkatapos ng paglunsad ay ganito ang hitsura.

Bago pag-aralan ang mga nilalaman ng isang memory dump, kakailanganin mong maliit na setup debugger Sa partikular, sabihin sa program kung saan hahanapin ang mga simbolo ng pag-debug. Upang gawin ito, pumili mula sa menu na File > Symbol File Path... I-click ang Browse... button at ipahiwatig ang folder kung saan namin na-install ang mga simbolo ng pag-debug para sa memory dump na pinag-uusapan.

Maaari kang humiling ng impormasyon tungkol sa mga kinakailangang simbolo ng pag-debug nang direkta mula sa Internet, gamit ang pampublikong server Microsoft. Sa ganitong paraan magkakaroon ka ng higit bagong bersyon mga karakter. Magagawa mo ito bilang mga sumusunod - sa menu ng File > Symbol File Path..., ipasok ang: SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

Pagkatapos tukuyin ang path sa mga simbolo ng debug, piliin ang File > I-save ang workspace mula sa menu at kumpirmahin ang aksyon sa pamamagitan ng pag-click sa OK.

Upang simulan ang pagsusuri sa memory dump, piliin ang File > Open Crash Dump... mula sa menu at piliin ang file na kinakailangan para sa pagsusuri.

Susuriin ng system ang nilalaman, pagkatapos nito ay maglalabas ng resulta tungkol sa pinaghihinalaang sanhi ng error.

Ang !analyze -v command na ibinigay sa debugger in command line, ay magpapakita ng mas detalyadong impormasyon.

Maaari mong ihinto ang pag-debug sa pamamagitan ng pagpili sa item ng menu na Debug > Ihinto ang Pag-debug

Kaya, gamit ang Debugging Tools para sa Windows package, palagi kang makakakuha ng sapat buong view tungkol sa mga sanhi ng mga error sa system.

Magandang hapon, mahal na mga kasamahan at mambabasa ng blog site. Ngayon gusto kong sabihin sa iyo kung paano pag-aralan ang isang Windows 10 Redstone memory dump. Ginagawa ito sa karamihan ng mga kaso kapag nakakuha ka ng asul na screen ng kamatayan na may error, pagkatapos nito ay nag-reboot ang iyong computer. AT pagsusuring ito tumutulong upang maunawaan ang sanhi ng kabiguan.

Pag-set up ng Windows 10 memory dump

Kaya, ano ang memory dump sa Windows 10 Redstone operating system. Inilarawan ko sa iyo sa itaas, napaka karaniwang dahilan kung saan lumilitaw ang isang system memory dump at ito ay mga asul na screen ng kamatayan. Ang mga dahilan para sa kanilang hitsura ay napakalawak:

  • Hindi pagkakatugma ng application
  • Hindi pagkakatugma ng driver
  • Mga bagong update sa Windows
  • Hindi tugma ang mga device

Ito ay isang maliit na pangkalahatang listahan lamang, dahil maraming mga error code mula sa mga asul na screen, ibibigay ko ang mga pinakabagong.

Ang aming gawain ay mahanap ang mga file na ito para sa mga diagnostic at mabigyang-kahulugan ang mga ito upang makakuha ng impormasyon tungkol sa problema.

Saan naka-configure ang isang Windows 10 crash dump?

Una, alamin natin kung saan ginawa ang setting, na responsable para sa Windows 10 crash memory dump Mag-right-click sa Windows 10 start button at mula menu ng konteksto piliin ang System.

Sa window ng System na bubukas, ikaw ay nasa kaliwa itaas na sulok piliin ang Advanced System Settings.

Dito naka-configure ang Windows 10 memory dump Mag-click sa item na Mga Setting sa Boot and Recovery.

Mula sa mga setting ng Windows 10 memory dump, nais kong tandaan ang sumusunod:

  • Pagre-record ng isang kaganapan sa syslog>narito ang impormasyon tungkol sa asul na screen ay idaragdag sa mga log ng operating system.
  • Magsagawa ng awtomatikong pag-reboot > upang magpatuloy sa pagtatrabaho pagkatapos ng isang error
  • Itala impormasyon sa pag-debug> nagbibigay-daan sa iyong piliin ang uri ng dump file, higit pa sa ibaba.
  • Palitan umiiral na file dump, isang kapaki-pakinabang na checkbox, dahil ang mga dump na ito ay maaaring tumimbang ng sampu-sampung gigabytes, na napakahalaga para sa maliliit na SSD drive.

Mga uri ng memory dump

Tingnan natin ang mga pagkakaiba sa pagitan ng mga opsyon para sa pagtatala ng impormasyon sa pag-debug

  • Maliit na Memory Dump 256 KB: Ang mga maliliit na memory dump file ay naglalaman ng sumusunod na impormasyon:

– mensahe tungkol sa isang nakamamatay na error, mga parameter nito at iba pang data;

– listahan ng mga naka-load na driver;

– konteksto ng processor ( PRCB) kung saan nangyari ang kabiguan;

EPROCESS) para sa prosesong naging sanhi ng error;

– proseso ng impormasyon at konteksto ng kernel ( ETHREAD) para sa thread na naging sanhi ng error;

– Kernel mode call stack para sa thread na naging sanhi ng error.

Ito ay ginagamit kapag mayroon kang napakakaunting espasyo sa disk sa iyong lokal na disk. Dahil dito, isinasakripisyo namin ang kapaki-pakinabang na impormasyon, na maaaring hindi sapat upang masuri ang isang asul na screen.

Ang mini dump ay naka-imbak sa landas C:\Windows\Minidump

  • Kernel memory dump > nagre-record lamang ng kernel memory. Depende sa dami ng pisikal na memorya ng PC sa kasong ito, ang paging file ay nangangailangan ng 50 hanggang 800 MB o isang third ng pisikal na memorya ng computer ay naka-on dami ng boot.
  • Full memory dump > well, malinaw ang lahat sa pangalan. Isinulat nito ang lahat ng bagay, ito ang pinakamataas na impormasyon tungkol sa asul na screen, nagbibigay ito ng isang daang porsyento na diagnosis ng problema.

Matatagpuan sa C:\Windows\Memory.dmp

  • Aktibong memory dump > ang aktibong memorya ng host machine ay nakukuha dito, ang function na ito ay higit pa para sa mga platform ng server, dahil magagamit ang mga ito para sa virtualization, at para hindi makapasok sa dump ang impormasyon tungkol sa mga virtual machine, naimbento ang opsyong ito.

Lahat ng Windows system, kapag may nakitang nakamamatay na error, gumawa ng crash dump (snapshot) ng mga nilalaman ng RAM at i-save ito sa hard drive. May tatlong uri ng memory dump:

Full memory dump – sine-save ang buong nilalaman ng RAM. Ang laki ng imahe ay katumbas ng laki ng RAM + 1 MB (header). Napakadalang gamitin, tulad ng sa mga system na may malaking halaga ng memorya ang laki ng dump ay magiging masyadong malaki.

Kernel memory dump – nagse-save ng impormasyon ng RAM na nauugnay sa kernel mode lamang. Ang impormasyon ng user mode ay hindi nai-save dahil hindi ito naglalaman ng impormasyon tungkol sa sanhi ng pag-crash ng system. Ang laki ng dump file ay depende sa laki ng RAM at nag-iiba mula sa 50 MB (para sa mga system na may 128 MB ng RAM) hanggang 800 MB (para sa mga system na may 8 GB ng RAM).

Maliit na memory dump (mini dump) - naglalaman ng medyo maliit na halaga ng impormasyon: isang error code na may mga parameter, isang listahan ng mga driver na na-load sa RAM sa oras ng pag-crash ng system, atbp., ngunit ang impormasyong ito ay sapat na upang makilala ang may sira na driver . Ang isa pang bentahe ng ganitong uri ng dump ay ang maliit na laki ng file.

Setup ng system

Upang matukoy ang driver na sanhi nito, sapat na para sa amin na gumamit ng isang maliit na memory dump. Upang makapag-save ang system ng mini dump sa panahon ng pag-crash, dapat mong gawin ang mga sumusunod na hakbang:

Para sa Windows Xp Para sa Windows 7
  1. Ang computer ko Mga Katangian
  2. Pumunta sa tab Bukod pa rito;
  3. Mga Parameter;
  4. Sa bukid Pagsusulat ng Impormasyon sa Debug pumili Maliit na memory dump (64 KB).
  1. Mag-right click sa icon Computer mula sa menu ng konteksto piliin Mga Katangian(o ang kumbinasyon ng Win+Pause na key);
  2. Sa kaliwang menu, mag-click sa item Mga Advanced na Setting ng System;
  3. Pumunta sa tab Bukod pa rito;
  4. Sa field na I-download at pagbawi, dapat mong i-click ang pindutan Mga Parameter;
  5. Sa bukid Pagsusulat ng Impormasyon sa Debug pumili Maliit na memory dump (128 KB).

Matapos makumpleto ang lahat ng mga manipulasyon, pagkatapos ng bawat BSoD isang file na may extension na .dmp ay ise-save sa C:\WINDOWS\Minidump folder. Ipinapayo ko sa iyo na basahin ang materyal na "". Maaari mo ring lagyan ng tsek ang kahon na “ Palitan ang kasalukuyang dump file" Sa kasong ito, ang bawat bagong crash dump ay isusulat sa luma. Hindi ko inirerekomenda na i-enable ang opsyong ito.

Pagsusuri ng crash dump gamit ang BlueScreenView

Kaya, pagkatapos lumitaw ang Blue Screen of Death, nag-save ang system ng bagong crash dump. Upang pag-aralan ang dump, inirerekomenda ko ang paggamit BlueScreenView na programa. Maaari itong i-download nang libre. Ang programa ay medyo maginhawa at mayroon intuitive na interface. Pagkatapos i-install ito, ang unang bagay na kailangan mong gawin ay tukuyin ang lokasyon para sa pag-iimbak ng mga dump ng memorya sa system. Upang gawin ito, pumunta sa item ng menu " Mga pagpipilian"at piliin ang" AdvancedMga pagpipilian" Piliin ang radio button " Magkargamula saangsumusunodMini Dumpfolder” at tukuyin ang folder kung saan naka-imbak ang mga dump. Kung ang mga file ay naka-imbak sa C:\WINDOWS\Minidump folder, maaari mong i-click ang " Default" I-click ang OK at pumunta sa interface ng programa.

Ang programa ay binubuo ng tatlong pangunahing mga bloke:

  1. Pangunahing menu block at control panel;
  2. Crash dump list block;
  3. Depende sa mga napiling parameter, maaaring naglalaman ito ng:
  • isang listahan ng lahat ng mga driver sa RAM bago lumitaw ang asul na screen (bilang default);
  • isang listahan ng mga driver na matatagpuan sa RAM stack;
  • screenshot ng BSoD;
  • at iba pang mga halaga na hindi namin gagamitin.

Sa block ng memory dump list (minarkahan ng numero 2 sa figure), piliin ang dump na interesado kami at tingnan ang listahan ng mga driver na na-load sa RAM (minarkahan ng numero 3 sa figure). Kulay pink ang mga driver na nasa memory stack ay may kulay. Sila ang dahilan hitsura ng BSoD. Susunod, pumunta sa Main Menu ng driver, tukuyin kung saang device o program sila nabibilang. Una sa lahat, bigyang pansin mga file ng system, dahil ang mga file ng system ay na-load sa RAM sa anumang kaso. Madaling makita na ang may sira na driver sa larawan ay myfault.sys. Sasabihin ko na ang program na ito ay partikular na inilunsad upang tumawag Itigil ang mga error. Matapos matukoy ang may sira na driver, kailangan mong i-update ito o alisin ito sa system.

Upang ang programa ay magpakita ng isang listahan ng mga driver na matatagpuan sa memory stack kapag naganap ang isang BSoD, kailangan mong pumunta sa menu item " Mga pagpipilian"Mag-click sa menu" IbabaPaneMode"at piliin ang" TangingMga driverNatagpuanSasalansan” (o pindutin ang F7 key), at para magpakita ng screenshot ng error, piliin ang “ AsulScreensaXPEstilo” (F8). Upang bumalik sa listahan ng lahat ng mga driver, dapat mong piliin ang " LahatMga driver” (F6).

Isa sa mga pinakakaraniwang pagkabigo Pagpapatakbo ng Windows- mga pagbubukod ng system na nakikita ng user bilang isang "blue screen of death" (BSOD). Bilang isang tuntunin, ito nakamamatay na pagkakamali nangyayari alinman dahil sa isang malfunction ng mga driver, hardware (kadalasan 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.
  • itapon( pagtatapon ng memorya) – 1) dump, outputting ang mga nilalaman ng RAM upang i-print o 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 ang hindi bababa sa isang parameter ay tinukoy, ang system ay bumubuo 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.

Matapos ang 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, gamit ang sariling function NtCreatePagingFile. Tinutukoy ng NtCreatePagingFile kung umiiral ang file ng page na sinisimulan at, kung gayon, kung mayroon itong dump header. Kung mayroong isang header, ipapadala ito ng NtCreatePagingFile sa Session Manager espesyal na code. 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 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 na memorya, 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 natapos na ang pag-save ng dump, at inilabas nito ang bahagi ng page file kung saan naka-imbak ang dump para sa pangkalahatang paggamit.

Pagkatapos i-save ang dump file, itinatala ng SaveDump program ang paglikha ng crash dump sa System event log, halimbawa: "Ang computer ay na-reboot pagkatapos kritikal na pagkakamali: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6). 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. Bilang default, ang isang kumpletong memory dump ay nakasulat sa %SystemRoot%\Memory.dmp file. 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 program ng user-mode. Kasama lang dito ang memorya na nakalaan sa kernel at hardware-specific layer (HAL) sa Windows 2000 at mas bago. mga susunod na bersyon system, pati na rin ang memorya na inilaan para sa mga driver ng kernel-mode at iba pang mga kernel-mode program. Sa karamihan ng mga kaso, ang naturang dump ay ang pinaka-kanais-nais na opsyon. Ito ay tumatagal ng mas kaunting espasyo kumpara sa buong dump memorya, 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 paging file 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.

Ginagamit ang maliit na memory dump file kapag limitado ang espasyo hard drive. 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.

Ang Windows XP operating system 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 application software. 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 at pag-troubleshoot (halimbawa, pag-update/pag-debug isang driver o muling pag-install programa ng aplikasyon, nagiging sanhi ng 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 walang 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. Naglo-load ang mga computer sa normal na mode hindi ito gumana, napunta ito sa "Pagbati" - at magre-reboot ito ng ad infinitum. 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, mga bago. 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 problema - ang nv4_disp.dll driver file NVIDIA video card 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 (bahagi ng Debugging Tools 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 sa iyo 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.