WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

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

История

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

В Unix

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

В Windows

В 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) объектов ядра; список загруженных библиотек, а также список выгруженных библиотек. Полностью ознакомиться с возможными вариантами можно изучив перечисление MINIDUMP_TYPE.

См. также

Ссылки

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

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии