статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

Дамп памяти

Материал из Энциклопедии в свободной энциклопедии
Перейти к: навигация, поиск

Дамп памяти (англ. memory dump; в Unix в core dump) в содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека. Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации). Дамп также можно сохранить вручную через отладчик или любую другую специальную программу.

Содержание

[править] История

Английский термин core dump буквально переводится как «распечатка содержимого сердечников»: на ранних компьютерах, дамп означал принтерную распечатку содержимого памяти на магнитных сердечниках (англ. magnetic core memory).

[править] В Unix

В современных Unix-подобных операционных системах дамп памяти сохраняется в виде файла который обычно называется core или core.<номер процесса>; его формат такой же, как формат исполняемых файлов этой ОС (ELF в Linux и современных Unix, a.out в традиционных Unix-системах, Mach-O в Mac OS X). Для анализа core-файла используется отладчик (например gdb) или инструмент objdump.

[править] В Windows

В Windows, аналогом core dumpв™а является minidump, который позволяет сохранить частичную или полную информацию о процессе, в том числе и полное содержимое рабочей памяти.

[править] Дамп системы

Вывод участка дампа 32-х битной ОС Windows с помощью программы Debug.exe

Дамп 32-х битной операционной системы Windows содержит FFFF FFFF16 или 429496729510 байт. Бо́льшая их часть содержит значение по умолчанию в число 0. Дамп можно логически разделить на сегменты по 64 кб (FFFF16), поэтому .com файлы операционной системы Windows не могут превышать этого размера, размещаясь только в одном сегменте, однако, программа может передавать управление над выполнением функции в другие сегменты. При запуске .com файлов весь код файла без изменений заносится в один из незанятых другими процессами сегментов.

Дамп содержит данные и команды различных процессов, как пользовательских приложений так и ядра операционной системы (в частности все прерывания BIOS, они же стандартные функции). Также в дампе содержатся значения регистров процессора и содержимое различных стеков, системное время и другие переменные среды.

[править] См. также

[править] Ссылки

Форматы дампа памяти в различных операционных системах:


Пространства имён

Варианты
Просмотры
Действия