Чем открыть файл дампа памяти Windows MEMORY.DMP
Многие знакомы с «синим экраном смерти» или BlueScreen. Синий экран появляется когда в работе Windows возникает критическая ошибка, что приводит к остановке работы операционной системы. При этом операционная система создает дамп памяти, в который записывает отладочную информацию и добавляет запись в журнал событий.
В Windows существуют два типа дампа памяти — малый дамп (minidump) и полный дамп.
Minidump находится в директории C:\Windows\Minidump и его название имеет примерно такой вид Mini051819-01.dmp.
Полный дамп располагается в папке C:\Windows и называется MEMORY.DMP.
Просмотр и анализ файла минидампа.
Для просмотра и анализа файла минидампа можно воспользоваться достаточно простой и удобной утилитой BlueScreenView от Nirsoft, которую можно скачать с официального сайта https://www.nirsoft.net/utils/blue_screen_view.html .
Для просмотра минидампа достаточно перетащить файл в окно программы и тут же загрузится отладочная информация. Красным будут подсвечены модули вызвавшие ошибку. В случае представленном на скриншоте выше это был драйвер tcpip.sys.
Щелкнув по имени файла минидампа можно запустить поиск решения в Google.
Но эта программа не способна обработать полный дамп памяти Windows — memory.dmp.
Просмотр полного дампа памяти MEMORY.DMP.
Чтобы посмотреть содержимое полного дампа памяти необходимо открыть файл MEMORY.DMP при помощи утилиты WinDBG, которая входит в пакет Microsoft Windows SDK. Скачать эту утилиту можно с официального сайта Майкрософт по этой ссылке https://developer.microsoft.com/ru-ru/windows/downloads/windows-10-sdk .
Установка и настройка WinDBG.
Запускаем установку пакета Windows Software Development KIT и на этапе выбора компонентов отмечаем «Debugging Tools for Windows».
При первом запуске WinDBG необходимо выполнить настройку сервера отладочных символов.
1. Переходим в меню File > Symbol File Path и вставляем строку:
где C:\symbol_cache — это директория куда будут загружаться символы.
2. Сохраняем настройку File > Save Workspace.
Просмотр и анализ файла MEMORY.DMP.
Открываем файл MEMORY.DMP: File > Open Crash Dump. Начинается процесс загрузки отладочных символов, в этот момент внизу будет видна надпись: Debugee not connected.
По окончанию загрузки появится подсказка: «для анализа этого файла запустите !analize-v».
Щелкаем по надписи !analize-v и запускается анализ дампа. В этот момент в строке состояние будет надпись *BUSY*.
По завершении обработки файла дампа памяти Windows нам необходимо найти среди полученной информации модуль, который вызвал сбой в работе. Найти сбойный модуль можно в строках MODULE_NAME и IMAGE_NAME.
В моем случае произошел сбой в работе драйвера srv.sys. В строке MODULE_NAME имя представлено в виде ссылке, щелкнув по которому можно получить информацию о модуле.
После выявления драйвера послужившего причиной сбоя в работе Windows и появления «Синего экрана смерти» необходимо попытаться обновить его.
Большинство проблем с драйверами решаются их обновлением.
Открываем дампы памяти DMP
Варианты открытия DMP
Расширение DMP зарезервировано за файлами дампов памяти: снимков состояния RAM в определённый момент работы системы или отдельного приложения, которые нужны разработчикам для последующей отладки. Такой формат используют сотни видов ПО, и рассмотреть их все в объёмах данной статьи невозможно. Наиболее же часто встречающийся тип DMP-документа – так называемый малый дамп памяти, где записаны подробности сбоя системы, который привёл к появлению синего экрана смерти, потому на нём и сосредоточимся.
Способ 1: BlueScreenView
Небольшая бесплатная утилита от разработчика-энтузиаста, основной функцией которой является предоставление возможности просмотра DMP-файлов. Не нуждается в установке на компьютер – достаточно распаковать архив в любое подходящее место.
- Для открытия отдельного файла нажмите на кнопку с иконкой программы на панели инструментов.
В окне «Advanced Options» отметьте чекбокс «Load a single Minidump File» и нажмите «Browse».
С помощью «Проводника» перейдите к папке с DMP-файлом, выделите его и нажмите «Открыть».
По возвращении в окно «Advanced Options» нажмите «ОК».
Утилита BlueScreenView рассчитана на продвинутых пользователей, потому её интерфейс может показаться сложным для новичка. Кроме того, доступна она только на английском языке.
Способ 2: Microsoft Debugging Tools for Windows
В составе среды разработки Windows SDK распространяется инструмент для отладки, который называется Debugging Tools for Windows. Приложение, рассчитанное на разработчиков, способно открывать в том числе и DMP-файлы.
- Для экономии места можно выбрать только Debugging Tools for Windows, отметив соответствующий пункт в процессе загрузки компонентов.
Запустить утилиту можно через «Пуск». Для этого откройте «Все программы», выберите «Windows Kits», а затем — «Debugging Tools for Windows».
Для запуска программы используйте ярлык «WinDbg».
Внимание! Для открытия DMP-файлов используйте только x64- или x86-версии дебаггера!
Утилита Debugging Tools for Windows ещё более сложная, чем BlueScreenView, и тоже не имеет русской локализации, однако предоставляет более подробную и точную информацию.
Заключение
Как видим, основную сложность при открытии DMP-файлов составляют сами программы, рассчитанные больше на специалистов, чем на рядовых пользователей.
Дамп памяти в Windows – зачем нужен и как его включить
С критическими ошибками «оконной» ОС знаком практически каждый её пользователь, и появляющиеся при этом синие экраны смерти (BSoD) обычно ничего хорошего не предвещают. Они могут быть спровоцированы программными или аппаратными причинами, и поскольку источник неприятности не всегда очевиден, решение начинается с диагностических мероприятий.
Исправить ошибку бывает непросто, и часто самым полезным средством для диагностики причин возникшего сбоя становится дамп памяти, представляющий собой снимок состояния оперативной памяти операционки с отладочными сведениями. Причём в Windows не всегда активировано автоматическое создание и сохранение на жёсткий диск дампов памяти, тогда как в исправлении BSoD независимо от характера сбоя эти данные могут сильно помочь.
Для чего нужен дамп памяти Windows
Содержимое оперативной памяти и материалы, касающиеся сбоя, могут писаться в файл подкачки, при следующем старте операционки создаётся аварийный дамп с информацией об отладке, сформированной на базе сохранённых данных (ОС может создавать memory dump и минуя файл подкачки). В журнале событий будет сделана запись об ошибке, если данная опция настроена.
Тип записываемого дампа может задаваться в свойствах ОС, поддерживаются варианты:
- Малый дамп памяти. Включает немного сведений, в частности это код ошибки с параметрами, список установленных в Виндовс драйверов и т. д., но этой информации бывает достаточно для выявления источника проблемы. Элемент, как правило, будет записан в каталоге C:\Windows\Minidump.
- Дамп памяти ядра. Выполняется сохранение сведений оперативной памяти, связанных только с режимом ядра, исключая информацию, не указывающую на источник появления сбоя.
- Полный дамп системы. Содержимым является вся память операционки, что может создать проблемы при создании снимка, если объём ОЗУ составляет более 4Гб. Обычно пишется в файл C:\Windows\MEMORY.DMP.
- Автоматический дамп памяти (стал доступным с восьмой версии Виндовс). Содержит те же записи, что и memory dump ядра, при этом отличается способом управления системой размером файла подкачки.
- Активный дамп памяти (представлен в «Десятке»). Содержит только активную память хоста из режимов ядра и пользователя* (возможность была изначально реализована для серверов, чтобы при диагностике в дамп не попадали виртуальные машины).
*Дамп пользовательского режима представляет собой дамп определённого процесса. Так, содержимым может являться полная память процесса или фрагмент, список, стек, состояние потоков, списки библиотек, состояние потоков, дескрипторы объектов ядра.
Чаще всего аварийный дамп памяти Windows 7, 8, 10 используется в целях диагностики и позволяет выяснить, как исправить критическую ошибку. Проанализировав содержимое, можно понять, что стало причиной неполадки, и приступить к её устранению.
Как включить создание дампа памяти в Windows
Чтобы активировать автоматическое сохранение memory dump в Виндовс, нужно сделать следующее:
- Переходим к свойствам системы любым удобным способом. Например, жмём правой кнопкой мыши по значку «Мой компьютер» (или «Этот компьютер» на «Десятке»). Выбираем «Свойства», затем в перечне опций в левой колонке жмём «Дополнительные параметры системы». Альтернативный вариант – использование Панели управления, где следует перейти в раздел «Система» (то же окно появится при использовании клавиш Win+Pause), а затем в «Дополнительные параметры системы». В Виндовс 10 также можно применить оснастку «Параметры»(Win+I). В окне нужно перейти к разделу «Система – «О системе» – «Сведения о системе» и далее в дополнительные параметры ОС.
- В открывшемся окне на вкладке «Дополнительно» в области «Загрузка и восстановление» жмём «Параметры».
- В итоге манипуляций откроется следующее окно, где следует выбрать тип записи отладочной информации, задать параметры, проставив в нужных пунктах галочки, после чего нажать кнопку «ОК».
Как настроить дамп памяти в Windows
Настройки действий, производимых при аварийной остановке работы ОС, выполняются в том же окне, что и включение создания memory dump («Загрузка и восстановление»), куда мы попадаем из свойств системы.
Здесь можно настроить параметры запуска ОС и назначить определённые действия в случае её отказа, например:
- указать режим записи дампа со сведениями отладки (по умолчанию выбран автоматический, но может быть выставлено значение «Нет»);
- записать события в журнал (записи добавляются в логи);
- отмеченный пункт «Выполнить автоматическую перезагрузку» позволяет системе перезагрузиться после сбоя и продолжить функционировать;
- при выборе опции «Заменять существующий файл дампа», объект будет подвергаться перезаписи при каждой появляющейся ошибке.
При эксплуатации SSD лучше оставить тип записи «Автоматический дамп памяти», но если нужен файл аварийного дампа, лучше выставить «Малый дамп памяти», он самый лёгкий и его несложно переслать другому пользователю, если вам нужна помощь в анализе состояния.
Иногда может потребоваться увеличение размера файла подкачки больше, чем доступно в оперативке, чтобы он соответствовал полному дампу.
Прочитать memory dump можно посредством специализированных утилит, таких как Microsoft Kernel Debugger, BlueScreenView и других.
Установка WinDbg в Windows
Утилита, являющаяся отладчиком для юзермодных приложений и драйверов, позволяет проанализировать снимок памяти и выяснить, что спровоцировало BSoD. Поставляется она в составе пакета SDK для Windows 10, инсталлятор скачивается на сайте Microsoft. Для Семёрки и ранних версий систем WinDbg можно найти в пакете Microsoft Windows SDK for Windows 7 and NET Framework 4.
- идём на страницу загрузки SDK (в зависимости от версии ОС выбираем нужный пакет, ссылки выше), скачиваем инсталлятор;
- после скачивания файла запускаем процесс инсталляции;
- выбираем первый вариант установки – на этот компьютер (второй предполагает загрузку для установки пакета на другие компьютеры);
- оставляем путь установки по умолчанию или меняем, если это необходимо;
- соглашаемся с условиями лицензионного соглашения;
- можно поставить весь пакет или выбрать в списке только отладчик Debagging Tools for Windows.
Анализ аварийного дампа памяти в WinDbg
Перед анализом memory dump необходимо выполнить некоторые настройки. Для работ с софтом понадобится пакет символов отладки Debugging Symbols, загруженный с учётом версии и разрядности системы.
Можно настроить извлечение утилитой символов из интернета, что безопасно, поскольку используется официальный ресурс компании Майкрософт.
Ассоциирование файлов .dmp с WinDbg
Для того чтобы объекты при нажатии на них открывались посредством утилиты:
- В консоли командной строки, запущенной от имени администратора (например, через меню Пуск) выполняем команды (зависимо от разрядности ОС):
Теперь файлы типов .DMP, .HDMP, .MDMP, .KDMP, .WEW будут ассоциироваться с приложением.
Настройка сервера отладочных символов
Отладочные символы, которые генерируются в процессе компиляции приложения вместе с исполняемым файлом, нужны при отладке. Настраиваем WinDbg на извлечение символов из сети:
- в окне WinDbg жмём «File» и выбираем «Symbol Fie Path…» или жмём Ctrl+S;
- указываем путь для загрузки, прописав строчку:
Анализ memory dump в WinDbg
Чтобы перейти к процедуре, открываем объект в утилите (File – Open Crash Dump) или, если предварительно настраивались ассоциации файлов, открываем элемент щелчком мыши. Утилита начнёт анализировать файл, затем выдаст результат.
В окне предполагается ввод команд. Запрос «!analyze –v» позволит получить более детальные сведения о сбое (STOP-код, имя ошибки, стек вызовов команд, приведших к проблеме и другие данные), а также рекомендации по исправлению. Для остановки отладчика в меню программы жмём «Debug» – «Stop Debugging».
Как удалить файлы дампа памяти
Если понадобилось удалить memory dump, это можно выполнить вручную, пройдя по пути месторасположения объекта на диске. Так, в системном каталоге Windows нужно найти и удалить файл MEMORY.DMP, а также элементы в каталоге Minidump. Кроме того, можно использовать штатный инструмент системы «Очистка диска»:
- вызываем консоль «Выполнить» (Win+R) и вводим команду «Cleanmgr», чтобы перейти к службе;
- жмём кнопку очищения системных файлов, затем находим и отмечаем в списке строчки, касающиеся memory dump. Если не нашлось, значит, их не создавали.
Создание снимков бывает отключено, даже если вы когда-либо активировали эту функцию по причине деятельности специального софта. Если речь о SSD-накопителе, это могут быть программы для работы с твердотельными дисками. Отключение некоторых опций ОС выполняется ими с целью оптимизации работы, поскольку многократные процессы чтения/записи сокращают продолжительность жизни диска. Также причиной отключения дампа памяти могут быть различные программы очистки компьютера и оптимизации системы.