Программирование драйверов Windows


Анализ информации Crash Dump файлов


Когда происходит фатальный сбой системы, операционная система может (при определенных настройках системы) сохранить состояние системы в момент сбоя в файле на жестком диске. Чтобы это выполнялось, в апплете Пуск - Настройка - Панель Управления - Система - Дополнительно - Загрузка и восстановление - Параметры (рисунок 13.3) необходимо ввести приемлемые данные. Фиксирование состояние системы в момент сбоя позволит затем вернуться к анализу причин сбоя.

Рис. 13.3

Окно системного апплета для установки параметров crash dump файла

При помощи отладчика WinDbg можно проанализировать состояние системы в момент сбоя по содержимому crash dump файла. Там можно обнаружить всю информацию, которая была бы доступна отладчику, если бы он оказался включенным в момент сбоя. Это тип экспертизы позволяет добывать убедительные доказательства причин, приведших к фатальному сбою. Во время анализа необходимо установить:

  • Какой драйвер выполнялся в момент сбоя?
  • Какую операцию пытался выполнить драйвер в момент сбоя?
  • Каково содержимое структуры расширения объекта устройства в момент сбоя?
  • Какой объект устройства работал?

После запуска WinDbg необходимо открыть crash dump файл (полученный с целевого компьютера) для анализа, выбрав пункт меню File и затем Open Crash Dump. После выбора и загрузки необходимого файла, на экране появится информация следующего (например) типа:

Windows XP Kernel Version 2600 UP Free x86 compatible Kernel base = 0x804d4000 PsLoadedModuleList = 0x8054be30 Bufcheck 000000Dl : 00000000 00000002 00000000 F8B57624 . . .

Как видим, начальная информация показывает те же данные, что и сообщение экрана BSOD. Не должно вводить в заблуждение сообщение о не перехваченном исключении с кодом 0x80000003. Это точка прерывания, используемая собственно KeBugCheck

для останова системы, поэтому не следует придавать ей значения.

Следует отметить, что в отсутствие отладочных символов операционной системы картина получается безрадостной. Распечатка сообщений WinDbg для этого случая приводится ниже.




Начало  Назад  Вперед