Аналіз minidump windows 7. Аварійний дамп пам'яті. Встановлення засобів налагодження

Або як його ще називають BSOD, може неабияк зіпсувати життя як комп'ютеру так і серверу, а ще з'ясувалося і віртуальній машині. Сьогодні розповім як аналізувати синій екран dump memory у Windows, тому що правильна діагностика та отримання причини через що не працює ваша система, 99 відсотків її вирішення, тим більше системний інженер, просто зобов'язаний вміти це робити, та й ще в найкоротші терміни, так Як від цього бізнес може внаслідок простою сервісу, втрачати купу грошей.

BSOD розшифровка

Давайте спочатку розберемо, що означає ця абревіатура, BSOD від англійської Blue Screen of Death або ще режим STOP помилки.

Помилки синього екрана смерті виникають з різних причин, серед яких можуть бути проблеми з драйверами, може бути якийсь збійний додаток, або збійний модуль оперативної пам'яті. Як тільки у вас з'явився синій екран у Windows, ваша система автоматично створить файл crash memory dump, який ми і будемо аналізувати.

Як налаштувати створення memory dump

За замовчуванням windows при синьому екрані створює аварійний дамп файл memory.dmp, зараз покажу як він налаштовується і де зберігається, я показуватиму на прикладі Windows Server 2008 R2, так як у мене нещодавно було завдання з вивчення питання синього екрану у віртуальній машині. Для того щоб дізнатися, де налаштований dump memory windows, відкриваємо пуск і клацаємо правим кліком по значку Комп'ютер і вибираємо властивості.

Як аналізувати синій екран dump memory у Windows-Властивості комп'ютера

Як аналізувати синій екран dump memory у Windows-параметри системи

Переходимо у вкладку Додатково Завантаження та відновлення. Тиснемо кнопку Параметри

Як аналізувати синій екран dump memory у Windows-Завантаження та відновлення

Де зберігається файл memory.dmp

і бачимо, що по-перше варто галка виконати автоматичне перезавантаження, для запису налагоджувальної інформації, вибрано Дамп пам'яті ядра і нижче є нехай куди зберігається дамп пам'яті %SystemRoot%\MEMORY.DMP

Перейдемо до папки c:\windows\ і знайдемо файл MEMORY.DMP у ньому містяться коди синього екрана смерті

Як аналізувати синій екран dump memory у Windows-memory.dmp

Як налаштувати mini dump

У малий дамп пам'яті теж записуються помилки синього екрану смерті, він налаштовується там же, потрібно тільки його вибрати.

Зберігається він у папці c:\windows\minidump. Перевага в тому, що він займає менше місця і кожен синій екран створюється окремим файлом. Завжди можна переглянути історію появи синього екрана.

Тепер коли ми розібралися, де шукати файл memory dump, потрібно навчитися його інтерпретувати і розуміти причину, через що відбувається синій екран смерті. У вирішенні цього завдання нам допоможе Microsoft Kernel Debugger. Завантажити Microsoft Kernel Debugger можна з офіційного сайту, головне виберіть потрібну версію ОС якщо комусь влом, то можете завантажити з яндекс диска за прямим посиланням. Також він входить до складу ADK.

Завантажуємо Microsoft Kernel Debugger, у результаті у вас буде маленький файл, який дозволить скачати з інтернету все, що вам потрібно. Запускаємо його.

приєднуватись до програми з покращення якості брати участь не будемо

тиснемо Accept і погоджуємося з ліцензією

Як встановити Microsoft Kernel Debugger - погоджуємося з ліцензією

почнеться встановлення Microsoft Kernel Debugger

Як встановити Microsoft Kernel Debugger-установка MKD

Бачимо, що Microsoft Kernel Debugger успішно встановлено

Після цього бачимо, що в пуску з'явилася папка Debugging Tools for Windows як для 32 так і 64 бітних систем.

Крім самого пакету Debugging Tools for Windows, також знадобиться набір символів налагодження - Debugging Symbols. Набір символів налагодження специфічний для кожної ОС, на якій був зафіксований BSoD. Тому доведеться завантажити набір символів для кожної ОС, аналізувати роботу якої Вам доведеться. Для 32-розрядної Windows XP знадобиться набір символів для Windows XP 32-біт, для 64-розрядної ОС знадобиться набір символів для Windows XP 64-біт. Для інших ОС сімейства Windows набори символів підбираються за таким же принципом. Завантажити символи налагодження можна звідси . Встановлювати їх рекомендується за адресою %systemroot%\symbolsхоча мені подобається встановлювати їх в окремі папки і не захаращувати папку Windows.

Аналіз синього екрану в Debugging Tools

Після установки Debugging Symbols під систему, на якій був синій екран смерті, запускаємо Debugging Tools

Як встановити Microsoft Kernel Debugger-Запуск

Перед аналізом вмісту дампа пам'яті потрібно провести невелике налаштування налагодження. Конкретно - повідомити програму, яким шляхом слід шукати налагоджувальні символи. Для цього вибираємо у меню File > Symbol File Path…

Натискаємо кнопку Browse…

і вказуємо папку, в яку ми встановили налагоджувальні символи для дампа пам'яті, що розглядається, можна вказати кілька папок через кому і можна запитувати інформацію про необхідні налагоджувальні символи прямо через Інтернет, з публічного сервера Microsoft. Таким чином у вас буде сама Нова версіясимволів. Зробити це можна так - в меню File > Symbol File Path… вводимо:

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

Як аналізувати синій екран смерті

Копіюємо з комп'ютера, де вискочив синій екран, файл memory.dmp або minidump, і відкриваємо його, вибираємо в меню File > Open Crash Dump… і вибираємо необхідний для розгляду файл.

Як аналізувати синій екран смерті-01

Вибираємо для прикладу minidump

Як аналізувати синій екран смерті-відкриваємо minidump

Почнеться аналіз мінідампа, бачимо з'явилося посилання на помилку, клацаємо по ній для більш детальної інформації про синій екран.

Як аналізувати синій екран смерті-03

І бачимо збійний додаток, який трощить вашу систему, так само можна ще детальніше подивитися в чому справа, ткнувши посилання.

Як аналізувати синій екран смерті-04

Отримайте більш детальну інформацію через синій екран.

Як аналізувати синій екран смерті-05

Якщо відкрити memory.dmp ви отримаєте подібну картину і бачимо чому синій екран у вас з'явився.

Як аналізувати синій екран смерті-06

Ось так просто діагностувати і усунути синій екран смерті.

На наступному етапі вибору компонент до установки ( Select the features you want to install) відзначаємо тільки те, що нам потрібно - Debugging tools для Windowsта натискаємо Install

У вказану на першому екрані папку з Інтернету буде завантажено та встановлено набір утиліт.

Після закінчення встановлення знаходимо в меню “Пуск” або на стартовому екрані у групі ярликів Windows Kitsутиліту WinDbgі запускаємо її з правами адміністратора

Якщо з якоїсь причини ярлик знайти не вдалося, то можна запустити файл, що виконується з каталогу установки - З:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe

У головному меню програми WinDbgвибираємо пункти File > Symbol File Path. У вікно, що відкрилося, вставляємо рядок визначальний нехай до локального каталогу символьного кеша та його онлайн-джерелу:

SRV*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Зберігаємо налаштування, вибравши в головному меню пункти File > Save Workspace

Відкриваємо файл дампа пам'яті, вибравши меню File > Open Crash Dump...

Вибираємо файл MEMORY.DMP(за замовчуванням розташований у каталозі C:\Windows) і натискаємо Open

З'явиться інформація про те, який саме виконуваний модуль спричинив зупинення роботи системи. Клацнувши за посиланням !analyze-vможна отримати більш розгорнуту інформацію про стан системи на момент виникнення стоп-помилки.

Ту ж саму інформацію можна отримати і за допомогою командного рядка, використовуючи приблизно наступну послідовність команд:

cd /d " C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\" kd -z "D:\DOWNLOADS\VM05\MEMORY.DMP " .logopen C:\Debuglog.txt .sympath srv*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

У цьому прикладі вся інформація про розбір дампа буде вивантажена в вигляді, що читається, у файл C:\Debuglog.txt

Джерела інформації:

Причиною критичних помилок Windows, які супроводжуються синіми екранами (BSOD), часто є драйвер — знову встановлений чи пошкоджений. Визначивши, який саме драйвер є причиною помилки, можна приступати до усунення проблеми: оновити драйвер, відкотитися до більш ранньої версії, перевстановити або видалити програму, яка встановила драйвер і т. д. Не завжди назва драйвера відображається на синьому екрані. Однак існує дуже простий спосіб, що дозволяє за допомогою дампа пам'яті визначити проблемний драйвер за кілька хвилин.

Крок 1 — Увімкнення запису дампів пам'яті

Спочатку потрібно переконатися, що запис дампів включено. Для цього потрібно відкрити властивості системи, натиснувши комбінацію клавіш Win+Pause, [в Vista клацнути посилання Додаткові параметри системи], перейти на вкладку Додатковоі нарешті натиснути кнопку .

малихдампів пам'яті має бути достатньо для наших цілей.

Зверніть увагу на шлях до папки, куди вони зберігатимуться у разі виникнення критичної помилки.

Тепер ви можете запакувати файл до архіву, прикріпити його до повідомлення у форумі Усунення критичних помилок Windowsі почекати, поки вам хтось повідомить назву проблемного драйвера:) Але ви можете зробити це самостійно, не докладаючи великих зусиль.

Крок 2 - Аналіз дампів за допомогою утиліти MinDumper

Розповідь про утиліту ви знайдете у цій статті.

  1. Завантажте та інсталюйте Debugging Tools for Windows. Вони входять до складу веб-установника Windows SDK , де після запуску потрібно вибрати Debugging Tools в розділі Common Utilities.
  2. Завантажте сценарій(kdfe.cmd), який написав Олександр Суховей та опублікував на ресурсі sysadmins.ru(оскільки живе посилання мені там знайти не вдалося, пропоную своє). Розпакуйте архів у будь-яку папку.
    Примітка. У разі нестандартного розташування папки Program Files вам може знадобитися вказати в kdfe.cmd шлях до папки, в яку встановлені засоби Debugging Tools for Windows. Використовуйте змінну dbgpath у рядку 41.

Крок 3 - Аналіз дампа пам'яті

Наразі все зводиться до виконання однієї команди. Відкрийте командний рядокі перейдіть до папки, в яку ви розпакували kdfe.cmd. Запустіть файл, вказавши як параметр шлях до файлу дампа пам'яті (у прикладі нижче файл називається Mini1110307-01.dmp)

Синій екран смерті(Англ. Blue Screen of Death, Blue Screen of Doom, BSoD)- повідомлення про критичну системну помилку в операційних системах Microsoft Windows. Багато хто стикається на своєму комп'ютері/ноутбуку з синім екраном смерті, єдиним рішенням бачать перевстановлення операційної системи. Але іноді ОС тут зовсім не до чого, а проблема в "залізі". Для того щоб не гадати- чому з'явився синій екран смерті,потрібно використовувати інформацію, яку надає сама операційна системаяк логів. У цій статті я покроково опишу, як з'ясувати причину появи синього екрана смерті.

Отже, поява синього екрану смерті завжди несподівано і не вчасно, тому встигнути побачити, що написано багато хто просто не встигає, а там треба сказати написано (правда не в зовсім явному вигляді) причини збою. Насамперед я пропоную налаштувати комп'ютер/ноутбук, щоб він не перезавантажувався відразу після збою системи, а дав можливість побачити причину збою, якщо цієї інформації буде недостатньо необхідно подивитися dumpфайл містить інформацію: код помилки з параметрами, список драйверів завантажених в оперативну пам'ять на момент краху системи і т.д., але цих відомостей достатньо, для визначення збійного драйвера.

Налаштування щодо перезавантаження після збою системи можна вказати, якщо натиснути правою кнопкою миші на ярлику Мій комп'ютер/комп'ютер (підходить для Windows XP, Windows7, Windows8), вибрати " Властивості", або натиснути клавіші + . Всі принтскирни нижче стосуватимуться Windows7, аналогічним способом налаштовується на Windows XP, Windows8, Windows8.1.

На вкладці " Додатково" Виберіть у полі Завантаження та відновлення " Параметри".

Забираєте галочку " Виконати автоматичне перезавантаження", Для того щоб встигнути побачити все що пише синій екран смерті. У рядку Файл дампа вказаний шлях, де буде зберігатися файл, в якому будуть вказані причини збою.

Тепер ви можете уважно вивчити інформацію з появою синього екрана смерті. Якщо комп'ютер у вас вже не завантажується, і змінити налаштування ви не можете, у цьому випадку при завантаженні натискаєте на клавіатурі F8 і вибираєте пункт меню «При відмові системи не виконувати перезавантаження».

Якщо вказаної інформації мало, можна скористатися дампом ( dmp файл). Для цього можна використовувати інструмент microsoft- microsoft debugging tool, але він багато важить, вимагає встановлення та наявності framework 4.5. Можна обійтися меншими жертвами, якщо використовувати програму BlueScreenView . На мій погляд дуже зручна програма, що не вимагає установки і російською мовою (файл додати до папки з програмою). Запустивши файл BlueScreenView.exe вам відкриється інтерфейс програми, в якому вже буде завантажено dump цього комп'ютера (використовується шлях за замовчуванням C:\Windows\MiniDump, якщо зайти в Настройки- Додаткові параметри можна вказати інший шлях, якщо ви скопіювали dump в інше місце).

У Windows дуже часто трапляються помилки, навіть у випадку з «чистою» системою. Якщо звичайні помилки програм вирішити можна (з'являється повідомлення про компонент, що бракує), то виправити критичні помилки буде набагато складніше.

Що таке дамп пам'яті у Windows

Для вирішення проблем із системою зазвичай використовують аварійний дамп пам'яті – це знімокчастини або повного обсягу оперативної пам'яті та розміщення його на незалежний носій ( жорсткий диск). Іншими словами, вміст оперативної пам'яті повністю або частково копіюється на носій і користувач може провести аналіз дампа пам'яті.

Існує кілька видів дампів пам'яті:

Малий дамп(Small Memory Dump) – зберігає мінімальний об'єм ОЗУ, де знаходяться відомості щодо критичних помилок (BSoD) та компонентів, які були завантажені під час роботи системи, наприклад, драйвера, програми. MiniDumpзберігається шляхом C:\Windows\Minidump.

Повний дамп(Complete Memory Dump) – зберігається повний обсяг ОЗП. Це означає, що розмір файлу дорівнюватиме обсягу оперативної пам'яті. Якщо місця на диску мало, проблематично зберегти, наприклад, 32 Гб. Також трапляються проблеми зі створенням файлу дампа пам'яті більше 4 Гб. Цей вид використовується дуже рідко. Зберігатися на шляху C:\Windows\MEMORY.DMP.

Дамп пам'яті ядра– зберігається лише інформація, що стосується ядра системи.

Коли користувач дійде до аналізу помилки, йому достатньо використовувати лише міні-дамп. Але перед цим він обов'язково має бути включений, інакше розпізнати проблему не вдасться. Також для більш ефективного виявлення аварії використання повного знімка пам'яті краще.

Інформація у реєстрі

Якщо заглянути в реєстр Windows, можна знайти деякі корисні параметри знімків. Клацаємо клавіші Win+R, вводимо команду regeditі відкриваємо такі гілки:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

У цій гілці користувач виявить такі параметри:

  • AutoReboot– активація або вимкнення перезавантаження після створення синього екрана смерті (BSoD).
  • DumpFile- Назва видів дампів та розташування.
  • CrashDumpEnabled- Номер створюваного файлу, наприклад, число 0 - дамп не створюється; 1 - створення повного дампа; 2 – створення дампа ядра; 3 - створення малого дампа.
  • DumpFilters– Дозволяє додати нові функції перед створенням знімка. Наприклад, шифрування файлу.
  • MinidumpDir- Назва малого дампа та його розташування.
  • LogEvent– активація запису відомостей до системного журналу.
  • MinidumpsCount- Задати кількість створюваних малих дампів. (Перевищення цієї кількості знищуватиме старі файли та замінюватиме їх).
  • Overwrite- Функція для повного дампа або системного. При створенні нового знімка попередній завжди замінюватиметься на новий.
  • DedicatedDumpFile– створення альтернативного файлу знімка та вказівка ​​його шляху.
  • IgnorePagefileSize– використовується для тимчасового розташування знімка без використання файлу підкачки.

Як це працює

При виникненні збою система повністю зупиняє свою роботу і, якщо створення дампів активно, у файл, що поміщається на диск, буде записана інформація про проблему. Якщо щось трапилося з фізичними компонентами, то працюватиме аварійний код, а залізо, яке дало збій, буде вносити будь-які зміни, що обов'язково позначиться у знімку.

Зазвичай файл зберігається у виділеному для файлу підкачки блоці жорсткого диска, після появи BSoD файл перезаписується в той вигляд, який сам і налаштував користувач (Малий, повний або дамп ядра). Хоча, в сучасних ОС участь файлу підкачування не обов'язково.

Як увімкнути дампи

У Windows 7:

У Windows 8 та 10:

Тут процес трохи схожий, у відомості про систему можна потрапити так само, як у Windows 7. У «Десятці» обов'язково відкриваємо « Цей комп'ютер», натискаємо по вільному місцю правою кнопочкою мишки та вибираємо « Властивості». Інакше туди можна потрапити через панель керування.

Другий варіант для Windows 10:


Слід зазначити, що в нових версіях Windows 10 з'явилися нові пункти, яких не було в сімці:

  • Малий дамппам'яті 256 КБ – мінімальні дані про збій.
  • Активний дамп– з'явився в десятій версії системи та зберігає лише активну пам'ять комп'ютера, ядра системи та користувача. Рекомендується використовувати на серверах.

Як видалити дамп

Достатньо зайти в каталог, де зберігаються знімки пам'яті та просто видалити їх. Але є й інший спосіб видалення – використання утиліти очищення диска:

Якщо жодних пунктів виявлено не було, можливо, дампи не були включені.

Навіть якщо ви колись включали їх, деякі використовувані утиліти оптимізації системи можуть легко вимкнути деякий функціонал. Часто багато чого відключається під час використання SSD накопичувачів, оскільки багаторазові процедури читання та запису сильно шкодять здоров'ю цього диска.

Аналіз дампа пам'яті за допомогою WinDbg

Завантажуємо з офіційного сайту Microsoft цю програмуна кроці 2, де описано « ВстановленняWDK» - https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk.

Щоб працювати з програмою ще знадобиться спеціальний пакет символів налагодження. Він називається Debugging Symbols, Раніше його можна було завантажити з сайту Microsoft, але тепер вони відмовилися від цієї ідеї і доведеться використовувати функцію програми File - Symbol File Path», куди слід вписати наступний рядок та натиснути ОК:

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

Якщо не спрацювало, пробуємо ось цю команду:

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

Знову натискаємо пункт "File" і вибираємо опцію "Save Workspace".

Утиліта налаштована. Залишається вказати шлях до файлів дампів пам'яті. Для цього натискаємо File і клацаємо опцію « OpenCrashDump». Розташування всіх дамп вказано на початку статті.

Після вибору закінчиться аналіз і проблемний компонент буде автоматично виділено. Для отримання більшої кількості інформації в цьому віконці можна ввести таку команду: !analyze -v

Аналіз за допомогою BlueScreenView

Завантажити інструмент безкоштовно можна з цього сайту - http://www.nirsoft.net/utils/blue_screen_view.html. Встановлення не потребує якихось навичок. Використовується лише у Windows 7 та вище.

Запускаємо та налаштовуємо. Натисніть «Установки» (Options) – « Додаткові параметри»(Advanced Options). Виберіть перший пункт « Завантажувати МініДампи з цієї папки» і вказуємо каталог - C:WINDOWSMinidump. Хоча можна просто натиснути кнопку "За замовчуванням". Натискаємо ОК.

У головному вікні з'являться файли дампа. Він може бути як один, так і кілька. Для його відкриття достатньо натиснути на нього мишкою.

У нижній частині вікна буде відображено компоненти, які були задіяні на момент збою. Червоним кольором буде виділено винуватця аварії.

Тепер натискаємо «Файл» та вибираємо, наприклад, пункт « Знайти у Google код помилки + драйвер». Якщо знайшли потрібний драйвер, встановіть та перезавантажте комп'ютер. Можливо, помилка зникне.