Skip to main content

Что такое основной дамп?

Дамп ядра - это запись содержимого памяти компьютера при возникновении серьезной ошибки. Он может включать в себя всю системную память или только часть, которая использовалась программой, которая потерпела неудачу. Он также может включать в себя другие соответствующие данные, такие как состояние процессора, содержимое регистра и информацию о запущенных процессах. Инженеры-программисты часто используют дампы ядра с отладчиками и другими утилитами для анализа и исправления ошибок компьютера. Дамп ядра также можно использовать для переноса рабочего процесса с одного процессора на другой во время нормальной работы.

Термин «дамп ядра», вероятно, возник в 1960-х годах, когда первые компьютеры использовали память на магнитных сердечниках. При сбое работающей программы все данные во всем ядре были распечатаны на бумаге, чтобы помочь с отладкой. Эти распечатки обычно состояли из адресов памяти и данных в восьмеричной или шестнадцатеричной форме. По мере совершенствования технологий хранения дампы ядра могут быть сохранены на диск, съемную магнитную ленту или энергонезависимые карты памяти. Большая емкость хранилища для информации о состоянии наряду с достижениями в отладке программного обеспечения сделали диагностику ошибок более эффективной.

Типичными причинами дампов ядра являются плохо написанные приложения или системное программное обеспечение. Довольно часто программный код предполагает, что указатели и индексы массивов всегда ссылаются на допустимые структуры данных. Например, если какой-либо из них вышел за пределы своих первоначальных структур, может произойти дамп ядра. Проблемы с доступом к файлам данных на устройстве хранения или чтением поврежденных данных могут также вызвать дамп ядра. Аппаратные проблемы, в том числе неисправность памяти, жестких дисков или процессоров, также могут вызывать их.

Обычно существует два типа дампов ядра. Один тип - это когда работающий процесс или прикладная программа завершается и управление возвращается в операционную систему. В этом случае остальная часть системы продолжает нормально функционировать, поскольку остановлена ​​только программа-нарушитель. Обычно создается большой файл дампа ядра, который затем можно загрузить в отладчик. Если ошибка произошла в программе, для которой доступны символы и исходный код, они также могут быть загружены в отладчик.

Другой более серьезный тип дампов ядра также называется паника ядра. Этот тип дампа останавливает всю систему на ее пути, чтобы предотвратить дальнейшие осложнения и повреждение данных. В системах Microsoft Windows® этот вид дампов обычно происходит в слишком знакомой форме «синего экрана смерти». Подобные паники обычно сложнее отлаживать, и часто они вызваны проблемами на аппаратном или системном уровне. Это может произойти до того, как система завершит загрузку, когда мало информации о фактической причине.