Система автоматической записи дампов при сбоях создаёт слепок оперативной памяти, в котором хранятся данные, которые были до поломки. 3 Это нужно, чтобы разработчики могли понять причины ошибки и исправить их. 3
Процесс работы системы: 1
- Во время загрузки операционная система проверяет параметры создания аварийного дампа. 1 Если параметры указаны, система генерирует карту блоков диска, занимаемых файлом подкачки на загрузочном томе, и сохраняет её в памяти. 1
- После сбоя ядро системы проверяет целостность карты страничного файла, дискового драйвера и управляющих структур дискового драйвера. 1 Если структуры не испорчены, ядро вызывает специальные функции ввода/вывода дискового драйвера, предназначенные для сохранения образа памяти после системного сбоя. 1
- Ядро записывает данные из памяти по карте секторов файла подкачки, при этом не использует драйверы файловой системы. 1 Перед выполнением операции ядро проверяет состояние каждого компонента, задействованного в процессе сохранения дампа. 1 Это делается, чтобы при прямой записи в секторы диска не повредить данные, лежащие вне страничного файла. 1
- Программа SaveDump анализирует заголовок дампа и определяет дальнейшие действия в аварийной ситуации. 1 Если заголовок указывает на существование дампа, SaveDump копирует данные из страничного файла в файл аварийного дампа, имя которого было выбрано пользователем. 1
- SaveDump информирует диспетчер памяти о завершении сохранения дампа, и тот высвобождает ту часть страничного файла, в которой хранится дамп, для общего пользования. 1
- SaveDump выполняет другие заданные аварийные операции: например, посылает администратору предупреждение и записывает событие в системном журнале. 1
В некоторых системах, например в Linux, после сбоя программы автоматически генерируется дамп ядра (Core Dump). 4 Этот файл содержит данные о памяти, значениях регистров и стеке вызовов приложения на момент сбоя. 4