Проводимо аналіз дампа пам'яті чи як виявити причину BSoD? Як за допомогою дампа пам'яті визначити драйвер, що викликає BSOD windows 10

У Windows 8 Microsoft представила новий дамп пам'яті - опція автоматичного дампа пам'яті. Цей параметр в операційній системі встановлено за промовчанням. У Windows 10 ввели новий тип файлу дампа – активний дамп пам'яті. Для тих, хто не знає, у Windows 7 у нас є малий дамп, дамп ядра та повний дамп пам'яті. Ви можете здивуватися, чому Microsoft вирішила створити цей новий параметрдамп пам'яті? За словами Роберта Сімпкінса, старшого інженера підтримки, автоматичний дамп пам'яті, може створити підтримку для сторінки системи у файлі конфігурації.
Система керування конфігурацією файлу підкачки відповідає за керування розміром файлу підкачки – це дозволяє уникнути зайвого запасу або розміру файлу підкачки. Ця опція введена в основному для ПК, які працюють на SSD-дисках, які зазвичай мають менший розмір, але величезну кількість оперативної пам'яті.

Параметри дампа пам'яті

Головна перевага "Автоматичний дамп пам'яті" полягає в тому, що це дозволить сеансу підсистеми в диспетчері процесів автоматично зменшити файл підкачування до розміру меншого, ніж розмір оперативної пам'яті. Для тих, хто не знає, сесія диспетчера підсистеми відповідає за ініціалізацію системи, середовище запуску служб та процесів, які необхідні для входу користувача до системи. Він в основному встановлює сторінку файлів у віртуальну пам'ятьта запускає процес winlogon.exe.

Якщо ви хочете змінити параметри автоматичного дамп пам'яті, ось як це можна зробити. Натисніть клавіші Windows+ X та виберіть — Система. Далі натисніть кнопку “ Додаткові параметрисистеми - Advance System Settings”.

Натисніть кнопку Додаткові параметри системи.

Тут ви можете побачити меню, що випадає, де написано “Додатково”.

Тут можна вибрати потрібний варіант. Пропоновані варіанти:

Жодних дампів пам'яті.
Невеликий дамп пам'яті.
Дампа пам'яті ядра.
Повний дамп пам'яті.
Автоматичний дамп пам'яті. Додані до Windows 8.
Активний дамп пам'яті. Додали до Windows 10.
Розташування файлу дампа пам'яті у файлі %SystemRoot%\MEMORY.DMP.

Якщо ви використовуєте SSD диск, краще залишити його на “Автоматичний дамп пам'яті”; але якщо ви потребуєте файлу аварійного дампа, то краще встановити його на "малий дамп пам'яті", з ним ви можете, якщо ви хочете, відправити його комусь, щоб він міг глянути на нього.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

він називається "LastCrashTime".

Це автоматично збільшить розмір файлу підкачування. Щоб зменшити його, пізніше ви можете просто видалити цей ключ.

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

У мене немає можливості протестувати його, але я створив цей ключ і виконав моніторинг розміру файлу підкачки. Я знаю, що рано чи пізно я отримаю критичну помилку. Тоді я перевірятиму його.

Ви можете проаналізувати дамп пам'яті Windows.dmp файлів за допомогою WhoCrashed. Утиліта WhoCrashed Home безкоштовна, в ній представлені драйвери, які були врізані на ваш комп'ютер за допомогою одного кліка. У більшості випадків вона може визначити несправний драйвер, який завдають страждання вашому комп'ютеру. Це краш-дамп аналізу системи, дампи пам'яті, і тут представлена ​​вся зібрана інформація у доступній формі.

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

WhoCrashed покладається пакет налагодження (програми windbg) від Microsoft. Якщо цей пакет не встановлений, WhoCrashed сама завантажуватиме і автоматично витягне цей пакет для вас. Просто запустіть програму та натисніть кнопку Аналіз. Коли у вас є WhoCrashed встановлений в системі і якщо він несподівано скидає або закривається, програма дасть вам знати, якщо аварійний дамп включений на вашому комп'ютері, і вона буде пропонувати Вам пропозиції про те, як їх включити.

Причиною критичних помилок 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)

Здрастуйте друзі, сьогодні розберемо цікаву тему, яка допоможе вам у майбутньому з появою синього екранусмерті (BSoD).

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

Нещодавно у мене знову з'явився блакитний екран у Windows 10, але я швидко його позбувся і скоро про це вам розповім.

Отже, більшість користувачів не знають, що BSoD можна аналізувати, щоб згодом зрозуміти проблеми критичної помилки. Для таких випадків Windows створює на диску спеціальні файли – , їх ми і будемо аналізувати.

Є три типи дампи пам'яті:

Повний дамп пам'яті- Ця функція дозволяє повністю зберегти вміст оперативної пам'яті. Він рідко використовується, тому що уявіть, що у вас 32 Гб оперативної пам'яті, при повній дампі весь цей обсяг збережеться на диску.

Дамп ядра– зберігає інформацію про режим ядра.

Малий дамп пам'яті– зберігає невеликий обсяг інформації про помилки та завантажені компоненти, які були на момент появи несправності системи. Ми будемо використовувати саме цей тип дампа, тому що вона дасть нам достатньо відомостей про BSoD.

Розташування, як малого, і повного дампа відрізняється, наприклад, малий дамп перебуває наступним шляхом: %systemroot%\minidump.

Повний дамп тут: %systemroot%.

Для аналізу дампів пам'яті існують різні програми, але ми скористаємося двома. Перша – Microsoft Kernel Debuggers, як відомо з назви утиліта від Microsoft. Завантажити її можна з офіційного сайту. Друга програма - BlueScreenView, безкоштовна програма, завантажуємо звідси.

Аналіз дампа пам'яті за допомогою Microsoft Kernel Debuggers

Для різних версійДля систем потрібно завантажувати свій тип утиліти. Наприклад, для 64-х розрядної операційної системи, Потрібна 64-бітова програма, для 32-х розрядної - 32-бітна версія.

Це ще не все, вам потрібно завантажити та встановити пакет налагоджувальних символів, потрібні для програми. Називається Debugging Symbols. Кожна версія цього пакета теж завантажується під певною ОС, для початку дізнайтеся яка у вас система, а потім завантажуйте. Щоб вам не шукати будь-де ці символи, ось посилання на скачування. Установка, бажано, повинна проводитися цим шляхом: %systemroot%\symbols.

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

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


Програма дозволяє витягувати символи прямо з мережі, тому вам навіть не доведеться їх завантажувати (вибачте, хто вже завантажив). Вони будуть братися з сервером Microsoft, тому все безпечно. Отже, вам потрібно знову відкрити "File", потім "Symbol File Path" і ввести наступну команду:

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


Таким чином, ми вказали програмі, що символи повинні братися з мережі. Як тільки ми це зробили натискаємо File і вибираємо пункт Save Workspace, потім тиснемо ОК.

От і все. Ми налаштували програму на потрібний лад, тепер розпочинаємо аналіз дампів пам'яті. У програмі натискаємо кнопку "File", потім "Open Crash Dump"та вибираємо потрібний файл.

Kernel Debuggers розпочне аналіз файлу і після цього виведе результат причини помилки.


У вікні можна вводити команди. Якщо ми введемо !analyze -v, Отримаємо більше інформації.

Ось і все із цією програмою. Щоб зупинити роботу налагоджувача, виберіть «Debug» та «Stop Debugging».

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

Для аналізу різних помилок та BSoD підійде і програма BlueScreenView, яка має простий інтерфейс, тому проблем із освоєнням виникнути не повинно.

Завантажте програму за вказаним вище посиланням та встановіть. Після запуску утиліти її потрібно налаштувати. Зайдіть до параметрів: «Параметри» – «Додаткові параметри». Відкриється невелике віконце, у якому є кілька пунктів. У першому пункті потрібно вказати місцезнаходження дампів пам'яті. Зазвичай вони знаходяться на шляху C:WINDOWSMinidump. Тоді просто натисніть кнопку "За замовчуванням".


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


Як я говорив на початку статті, дампи можуть зберігати драйвера, сам скріншот «екрану смерті» та інша корисна інформація, яка нам може стати в нагоді.

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

В інтернеті можна знайти все про код помилки та драйвері, який може бути виною BSoD. Для цього натискаємо "Файл", а потім "Знайти в Google код помилки + Драйвер".


Можна зробити показ лише драйверів, які були на момент появи помилки. Для цього потрібно натиснути "Налаштування" - "Режим нижнього вікна" - "Тільки драйвера, знайдені в креш-стеку". Або натиснути клавішу F7.

Щоб показати скріншот BSoD, натисніть клавішу F8.

Для показу всіх драйверів та файлів натискаємо F6.

Ну от, власне, і все. Тепер ви знаєте, як дізнатися про проблему «Синього екрану смерті», і в разі чого знайти рішення в інтернеті або на цьому сайті. Можете пропонувати свої коди помилок, а я постараюся писати для кожної статті щодо вирішення проблеми.

Також не забувайте ставити запитання у коментарях.

Якщо перед вами з'явився так званий синій екран смерті в Windows 10 і ви вже готові впасти в нервовий коматозний стан, візьміть себе в руки і спробуйте вирішити проблему. Для початку варто сказати, що це зловісне повідомлення сигналізує вам про критичну системної помилки. Більше того, далеко не завжди можна впіймати момент і встигнути прочитати код помилки, коли Windows вивалиться в синій екран смерті і відбудеться перезавантаження пристрою. Відразу зазначимо, що є безліч рішень цієї проблеми, як і причин появи синього екрана. У цій статті ми спробуємо розглянути ймовірні причини появи синього екрану щастя, а також можливих рішенняхпроблеми.

У переважній більшості випадків синій екран смерті сигналізує про помилку BAD_POOL_CALLER - stop 0x000000c2. Діагностувати цю помилку скажемо прямо складно, але, можливо, і ми спробуємо на прикладі цієї помилки описати алгоритм ваших наступних дій.

Щоб правильно здійснити діагностику проблеми, слід проаналізувати спеціальний файл системи під назвою minidump (дамп пам'яті). До створення таких файлів призводить збій у роботі системи, більше того, вони можуть нас поінформувати - що саме спричинило збій.

1. Щоб увімкнути таку автоматичний записмалого дампа пам'яті (за замовчуванням відключено) зайдіть у властивості комп'ютера і перейдіть до розділу "Додаткові параметри системи" (таке включення передбачено для всіх систем, а не тільки Windows 10):

Як правило, всі файли minidump при появі синього екрана смерті (BSOD) зберігаються, а знайти їх можна в папці C:\Windows\Minidump. Примітно, що ім'я файлу містить поточну дату – коли він був створений, що значно полегшує ідентифікацію дати виникнення помилки, особливо враховуючи, що такий файл може бути не один.

Два способи як розшифрувати маленьку дам пам'яті minidump

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

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

Для другого способупотрібно встановити Debugging Tools for Windows, а також завантажити утиліту bsdos_utility. Далі після розпакування скрипта bsdos_utility.cmd слід перемістити його на диск C:\ (можна створити окрему папку, але варто пам'ятати, що рядок адреси запуску скрипту буде відрізнятись від нашого прикладу). Потім у командному рядку слід написати:

C:\bsdos_utility.cmd

Після виведення списку всіх дампів зі списку C:\Windows\Minidump\, після чого скрипт запитає, який саме дамп повинен піддатися аналізу. Вибрати потрібний мінідамп можна самостійно при запуску скрипта:

Подібним чином можливе виявлення маси помилок Windows 10, через які випав BSOD, а також проблематичних програм.exe через які стався синій екран.

На наступному етапі вибору компонент до установки ( Select the features you want to install) відзначаємо лише те, що нам потрібно - Debugging tools for 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

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

Встановлення програм