Что такое формат файла DMP?
Файлы .dmp используются в Windows как пространство для хранения информации после системного сбоя. Они фиксируют снимок физической памяти (RAM) в момент краха системы, позволяя инженерам и специалистам поддержки диагностировать первопричину события после случившегося.
Файлы .dmp обычно создаются автоматически при возникновении ошибки или неисправности для диагностики и устранения проблемы. В старых версиях Windows (эпоха XP) утилита Savedump.exe помогала записывать дамп во время первой загрузки после сбоя; в современных Windows ядро записывает дамп напрямую во время последовательности «синего экрана смерти» (BSOD). Каждый файл .dmp имеет бинарную сигнатуру: минидампы начинаются с четырехбайтового кода MDMP (4D 44 4D 50) по смещению 0, в то время как полные дампы ядра начинаются с PAGEDUMP (32-бит) или PAGEDU64 (64-бит).
Файлы обычно называются Memory.dmp, но вы также можете встретить формат минидампа - MiniMMDDYY-NN.dmp (M = месяц, D = день, Y = год, NN = порядковый номер), которые хранятся в папке %SystemRoot%\Minidump, чтобы данные об отдельных сбоях не перезаписывались.
Типы дампов памяти, создаваемых в Windows:
- Полный дамп памяти - после создания все содержимое физической RAM сохраняется в файле
.dmp; он может занимать значительное место на диске. Хранится в%SystemRoot%\Memory.dmpи перезаписывается при возникновении новой неисправности. - Дамп памяти ядра - записывается только память режима ядра; память, выделенная пользовательским программам, игнорируется. Также сохраняется как
%SystemRoot%\Memory.dmpи перезаписывается при следующем сбое. - Малый дамп памяти (минидамп) - обычно имеет размер 64 КБ и содержит параметры STOP-ошибки, контекст процессора PRCB, структуры EPROCESS/ETHREAD для остановившегося потока и список загруженных драйверов. Хранится в
%SystemRoot%\Minidumpи не перезаписывается. - Автоматический дамп памяти - представлен в Windows 8, аналогичен дампу ядра, но позволяет Windows динамически изменять размер файла подкачки, чтобы гарантировать размещение дампа.
Близкородственным вариантом является файл .mdmp (явно названный минидамп), а служба отчетов об ошибках Windows также может создавать сопутствующие дампы кучи .hdmp. В системах Linux/Unix аналогичной концепцией является core dump. Аварийные дампы можно анализировать с помощью WinDbg, Microsoft Visual Studio (которая может открывать файлы .dmp напрямую для управляемого кода) или NirSoft BlueScreenView для быстрого осмотра минидампов.
Безопасность и защита
РИСК: MEDIUMФайл .dmp не является исполняемым - его открытие в отладчике не может привести к заражению. Реальную проблему представляет конфиденциальность: полный дамп памяти (MEMORY.DMP) или дамп приложения может содержать все, что находилось в RAM в момент сбоя - пароли, ключи шифрования, содержимое открытых документов, токены сессий. Перед отправкой дампа в поддержку или его загрузкой помните, что он может содержать конфиденциальные данные; при совместном использовании отдавайте предпочтение минидампам. Дампы сбоев также можно безопасно УДАЛЯТЬ для освобождения места на диске (Очистка диска > «Файлы дампов памяти для системных ошибок»); Windows воссоздаст их при следующем сбое.
Детали формата
в двух словах- Oracle Data Pump / exp export (.dmp) - Проприетарный бинарный экспорт базы данных из утилит Oracle expdp/exp, загружаемый обратно в базу данных с помощью impdp/imp - не является дампом памяти и не читается отладчиком.
Программы, открывающие файлы DMP
Технические подробности
глубокая спецификация| Формат файла | Бинарный (не читаемый человеком; структурированный двоичный снимок памяти) |
| Магические байты - минидамп | 4D 44 4D 50 (ASCII: MDMP) по смещению 0 |
| Магические байты - 32-битный дамп ядра | 50 41 47 45 44 55 4D 50 (ASCII: PAGEDUMP) по смещению 0 |
| Магические байты - 64-битный дамп ядра | 50 41 47 45 44 55 36 34 (ASCII: PAGEDU64) по смещению 0 |
| MIME-тип | application/octet-stream |
| Разработчик | Microsoft |
| Путь по умолчанию - полный дамп / дамп ядра | %SystemRoot%\Memory.dmp (перезаписывается при следующем сбое) |
| Путь по умолчанию - минидамп | %SystemRoot%\Minidump\MiniMMDDYY-NN.dmp (отдельные файлы, сохраняются между сбоями) |
| Базовый размер минидампа | минимум 64 КБ; современная Windows может создавать минидампы большего размера |
| Типы дампов | Полный, Ядра, Малый (Минидамп), Автоматический (Windows 8+), Активный дамп памяти (Windows 10+) |
| Триггер создания | Критическая ошибка ядра / «Синий экран смерти» (BSOD); также можно создать вручную через Диспетчер задач или ProcDump |
| Содержимое минидампа | Код и параметры STOP-ошибки, структуры PRCB, EPROCESS, ETHREAD, список загруженных драйверов |
| Основной инструмент анализа | WinDbg / WinDbg Preview (Windows Debugger, часть Debugging Tools for Windows) |
| Вторичные инструменты анализа | Microsoft Visual Studio (дампы управляемого кода), NirSoft BlueScreenView (просмотр минидампов) |
| Настройка типа дампа | Свойства системы → Дополнительно → Загрузка и восстановление → Запись отладочной информации |
| Связанные расширения | .mdmp (явный вариант минидампа), .hdmp (дамп кучи), .dump, .core (эквивалент в Linux) |
| Выпущен | Windows minidump format from the Windows 2000/XP era |
| Спецификация | learn.microsoft.com |
Конвертации DMP
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DMP.