Программы для анализа дампа памяти: как найти причину сбоя Windows

Критическая ошибка CRITICAL_PROCESS_DIED или IRQL_NOT_LESS_OR_EQUAL оставляет после себя файл дампа в папке C:\Windows\Minidump — и именно его разбор позволяет установить, какой драйвер или модуль вызвал синий экран. Для этого существуют специальные программы для анализа дампа: от простых утилит с готовым выводом до профессиональных отладчиков уровня WinDbg.

В этой статье разберём, какие инструменты подходят для анализа файлов .dmp, чем они отличаются, как открыть минидамп и полный дамп памяти, а также как интерпретировать результаты, чтобы устранить причину BSOD, а не бороться с симптомами.

Что такое дамп памяти и зачем его анализировать

Дамп памяти — это снимок состояния оперативной памяти и системных структур в момент критического сбоя. Windows сохраняет его автоматически, если в настройках системы включена запись отладочной информации. Анализ такого файла показывает, какой процесс, драйвер или системный модуль работал в момент падения и какая инструкция привела к остановке ядра.

Существует несколько типов дампов. Малый дамп памяти (минидамп) занимает мало места и содержит базовые сведения: код ошибки, список загруженных драйверов и стек вызовов сбойного потока. Дамп памяти ядра и полный дамп содержат значительно больше данных и нужны для глубокой диагностики, но требуют больше места на диске.

⚠️ Внимание: если папка C:\Windows\Minidump пуста, а синие экраны повторяются, проверьте, включена ли запись дампов: Панель управления → Система → Дополнительные параметры системы → Загрузка и восстановление. Также убедитесь, что файл подкачки не отключён — без него система может не сохранить дамп.

Обзор популярных программ для анализа дампа

Выбор инструмента зависит от вашей задачи и уровня подготовки. Одним достаточно увидеть имя сбойного драйвера, другим нужен полный стек вызовов и дизассемблирование.

  • 🔍 WinDbg (Windows Debugger) — официальный отладчик Microsoft. Самый мощный инструмент: показывает стек вызовов, регистры, модули и позволяет выполнять команды анализа. Требует загрузки символов отладки.
  • 📊 BlueScreenView — лёгкая портативная утилита от NirSoft. Сканирует папку минидампов и сразу подсвечивает драйверы, вероятно вызвавшие сбой. Идеальна для быстрой диагностики.
  • 🛠️ WhoCrashed — программа, которая анализирует дампы и выдаёт заключение понятным языком: какой драйвер виноват и что рекомендуется сделать.
  • 📁 WinDbg Preview — современная версия отладчика из Microsoft Store с обновлённым интерфейсом, подходит тем, кому классический WinDbg кажется архаичным.

Для большинства пользователей разумная стратегия — начать с BlueScreenView или WhoCrashed, а к WinDbg переходить, когда требуется детальный разбор.

📊 Какой инструмент для анализа дампов вы используете чаще всего?
WinDbg / WinDbg Preview
BlueScreenView
WhoCrashed
Ещё не анализировал дампы

Сравнение возможностей программ

Чтобы выбрать подходящий инструмент, сравним их ключевые характеристики.

ПрограммаУровень сложностиГлубина анализаКому подходит
WinDbg / WinDbg PreviewВысокийПолный: стек, модули, командыИнженеры, продвинутые пользователи
BlueScreenViewНизкийСписок драйверов в стеке сбояБыстрая диагностика BSOD
WhoCrashedНизкийАвтоматическое заключениеПользователи без опыта отладки
OSR Online / веб-анализаторыНизкийЗависит от сервисаРазовая проверка без установки ПО

Обратите внимание: ни одна программа не даёт стопроцентного ответа автоматически — она указывает модуль, находившийся в стеке на момент сбоя, но интерпретировать результат нужно с учётом контекста. Например, сбой в ntoskrnl.exe почти всегда означает, что реальный виновник — сторонний драйвер, а не ядро системы.

Как проанализировать дамп в WinDbg: пошаговая инструкция

WinDbg — эталонный инструмент, и базовый сценарий анализа в нём несложен. Установите WinDbg Preview из Microsoft Store или классическую версию в составе Windows SDK.

Откройте файл дампа через File → Open Dump File и укажите путь к файлу из папки C:\Windows\Minidump. Дождитесь загрузки — при первом запуске отладчик подтянет символы с серверов Microsoft, если настроен путь к символам. Затем выполните команду автоматического анализа:

!analyze -v

Команда выведет код ошибки (Bug Check Code), параметры, стек вызовов и строку IMAGE_NAME или MODULE_NAME — имя модуля, который отладчик считает вероятной причиной. Если указан файл .sys конкретного драйвера (например, видеодрайвера или драйвера антивируса) — это основная зацепка.

☑️ Чек-лист анализа дампа в WinDbg

Выполнено: 0 / 6
⚠️ Внимание: без загруженных символов отладки вывод !analyze -v будет неполным, а имена функций в стеке превратятся в адреса. Настройка пути к символам выполняется через File → Settings → Debugging settings в WinDbg Preview или командой .sympath в классической версии.

Быстрый анализ в BlueScreenView и WhoCrashed

Если нет желания разбираться с командами отладчика, BlueScreenView делает всё за пару кликов. Запустите утилиту — она автоматически прочитает содержимое папки минидампов и покажет список сбоев с кодами ошибок. В нижней панели отображаются драйверы из стека: розовым подсвечиваются модули, которые программа считает подозрительными.

WhoCrashed идёт дальше: после нажатия кнопки анализа программа формирует текстовое заключение — какой драйвер, вероятно, вызвал сбой, и общие рекомендации (обновить драйвер, проверить память, откатить обновление). Для домашней диагностики этого часто достаточно.

У этих утилит есть ограничение: они работают в основном с минидампами и не дают глубины полноценного отладчика. Если сбой связан с повреждением памяти или сложным взаимодействием драйверов, без WinDbg не обойтись.

Что означает сбой в ntoskrnl.exe или win32k.sys

Это системные модули Windows, и их появление в стеке почти никогда не означает ошибку самой системы. Обычно реальная причина — сторонний драйвер, неисправная оперативная память или разгон. В таких случаях проверяйте RAM (например, штатным средством диагностики памяти Windows или MemTest86), отключайте разгон и обновляйте драйверы устройств.

Что делать после анализа: типовые сценарии

Результат анализа дампа — это не финал, а отправная точка. Дальнейшие действия зависят от того, какой модуль указан как вероятная причина.

  • 🎮 Драйвер видеокарты (модули nvlddmkm.sys, atikmdag.sys и подобные) — обновите или чисто переустановите драйвер, проверьте температуры и отключите разгон.
  • 🌐 Сетевой драйвер или фильтр антивируса — обновите ПО, а при повторении сбоев попробуйте временно удалить антивирус и понаблюдать за стабильностью.
  • 💾 Подозрение на память (случайные коды ошибок, разные модули в дампах) — протестируйте ОЗУ и верните стандартные частоты в BIOS/UEFI.
  • 💽 Модули подсистемы хранения — проверьте состояние диска и целостность системных файлов командой sfc /scannow.

Если дампы появляются нерегулярно и каждый раз указывают на разные модули, это косвенный признак аппаратной проблемы — чаще всего памяти или нестабильного питания. Программные методы здесь малоэффективны, и диагностику стоит проводить на уровне железа.

Частые вопросы об анализе дампов

Где Windows хранит файлы дампов?

Минидампы сохраняются в папке C:\Windows\Minidump, а полный дамп или дамп ядра — в файл C:\Windows\MEMORY.DMP. Расположение можно изменить в настройках «Загрузка и восстановление».

Можно ли открыть чужой дамп на своём компьютере?

Да. Файл .dmp можно скопировать и открыть в WinDbg на любой машине — потребуется только доступ к серверам символов Microsoft. Это стандартная практика при удалённой диагностике.

Почему папка Minidump пуста, хотя синие экраны были?

Возможные причины: отключена запись отладочной информации, отключён или слишком мал файл подкачки, либо дамп удалён утилитой очистки диска. Проверьте настройки в разделе «Загрузка и восстановление».

WinDbg показывает, что виноват ntoskrnl.exe. Система повреждена?

Практически всегда — нет. ntoskrnl.exe — ядро Windows, и оно оказывается в стеке, потому что сбой произошёл внутри системного вызова. Реальная причина обычно кроется в стороннем драйвере, памяти или разгоне.

Дамп занимает много места — можно ли его удалить?

Да, после анализа файлы дампов можно удалять — на работу системы это не влияет. Файл MEMORY.DMP при полном дампе может занимать объём, сопоставимый с объёмом ОЗУ, поэтому его очистка часто освобождает заметное место на диске.