Стоп-экран.

При запуске драйвера, содержащего ошибки, чаще всего происходит так называемый “крах системы”. При этом появляется стоп-экран, часто называемый BSOD – Blue Screen of Death.

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

Последовательность действий:

1. зайти в Панель инструментов (Control Panel);

2. выбрать значок Система (System);

3. в появившемся окне Свойства системы (System properties) перейти на вкладку расширенных настроек (Advanced);

4. В группе Загрузка и восстановление (Startup and Recovery) нажать кнопку Настройка... (Settings...).

5. В группе Крах системы (System failure) снять галочку Автоматическая перезагрузка (Automatically restart).

6. Применить изменение настроек.

 

В описанном выше окне также есть полезная настройка – тип создаваемого при крахе дампа памяти. Если требуется создание дампа памяти, то необходимо выбрать в списке Запись отладочной информации (Write debugging information) тип дампа. При этом следует взвесить соотношение полноты информации и объема файла дампа.

При появлении стоп-экрана следует внимательно его изучить. Чаще всего системе удается определить “виновника” краха. В этом случае на экране, скорее всего, будет отображено имя сбойного драйвера. Иногда на экране выводится имя ошибки. Если имени ошибки нет, то следует обратить внимание на нижнюю часть экрана, где отображается численный код ошибки и четыре параметра в скобках.

 

Примеры названий ошибок и их коды:

0x50: PAGED_FAULT_IN_NON_PAGED_AREA 0x8E: KERNEL_MODE_EXCEPTION_NOT_HANDLED 0xBE: ATTEMPTED_WRITE_TO_READONLY_MEMORY 0xCE: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS 0x1E: KMODE_EXCEPTION_NOT_HANDLED 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION

 

Пояснения к кодам распространенных ошибок и значению их параметров даны в DDK Documentation: Windows DDK->Driver Development Tools->Bug Check Codes.