Дамп памяти
[
|
]
Материал из Википедии — свободной энциклопедии
Дамп памяти (
memory dump; в
— core dump) — содержимое рабочей памяти одного
,
или всей
. Также может включать дополнительную информацию о состоянии программы или системы, например значения
и содержимое
. Многие операционные системы позволяют сохранять дамп памяти для
. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за
). Дамп также можно сохранить вручную через
или любую другую специальную программу.
Содержание
История[ | ]
Английский термин core dump буквально переводится как «выгрузка содержимого ядра»: на ранних компьютерах дамп означал
распечатку содержимого
(
magnetic core memory). Классическая игра NetHack содержит отсылку к термину при съедении яблока: "core dumped".
В Unix[ | ]
В современных
-подобных операционных системах дамп памяти сохраняется в виде файла, который обычно называется core или core.<номер процесса>; его формат такой же, как формат исполняемых файлов этой ОС (
в
и современных
,
в традиционных
-системах,
в
). Для анализа core-файла используется отладчик (например
) или инструмент
.
В Windows[ | ]
В
существует два вида дампов: дампы режима ядра и дампы пользовательского режима.
Дамп режима ядра[ | ]
Когда в Windows происходит ошибка в
, ОС не может продолжать свою работу, что приводит к так называемому
(
BSoD). Во время показа этого экрана идёт запись
дампа режима ядра (
kernel-mode dump). Тип записываемого дампа задаётся в свойствах системы во вкладке «Загрузка и восстановление». Windows поддерживает три режима записи дампа, различающиеся объёмом сохраняемой информации:
- Полный дамп системы ( Complete Memory Dump) — содержит всю физическую память системы. Существуют проблемы при записи такого дампа, если в системе более 4Гб (это связано с тем, что 32 бита могут адресовать максимум 4Гб). Обычно записывается в файл C:\Windows\MEMORY.DMP;
- Дамп памяти ядра ( Kernel Memory Dump) — содержит всю память, которую использует ядро системы;
- Малый дамп памяти ( Small Memory Dump) — содержит различную информацию, например, стоп-код, параметры ошибки, список загруженных драйверов и т. п. Обычно записывается в папке C:\Windows\Minidump.
Дамп пользовательского режима[ | ]
Дамп пользовательского режима (
user-mode dump), также часто просто (
minidump) — это дамп памяти отдельного процесса. Он содержит в себе выбранные к записи виды данных. В частности, это может быть: полная или частичная (отфильтрованная) память процесса; список, стек, состояние потоков; дескрипторы (
handle) объектов ядра; список загруженных библиотек, а также список выгруженных библиотек. Полностью ознакомиться с возможными вариантами можно, изучив перечисление
.