В то время как Windows XP вышел, я слышал о функции тестирования, которая существовала для ручного порождения BSOD ("Синий" экран Смерти). Я также слышал, что это, как предполагалось, было удалено в Пакете обновления XP 2. Это не стало удаленным, это находится также в Vista и Windows 7. Для Включения этого перешли к этому местоположению в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
и добавьте CrashOnCtrlScroll
как a REG_DWORD
со значением 1.
Теперь перезагрузка и Нажимает Ctrl+Scroll Lock+Scroll Lock, и Вы получаете BSOD.
Почему эта функция все еще здесь?
Это там, чтобы позволить повреждение в Отладчик ядра или генерировать файл дампа привилегированного режима. Обычно эксперт хотел бы сделать это, когда ОС выглядит запертой и даже не ответит на CTRL+ALT+DELETE, чтобы получить файл дампа и исследовать его, для которого драйвер испытывает затруднения.
Это логически equivelent к вызову ядра API KeBugCheck с bugcheck 0xE2 (MANUALLY_INITIATED_CRASH). Также обратите внимание, что значения reg могут быть установлены в различных reg ключах для USB (kbdhid) драйвер клавиатуры по сравнению с ps2 (i8042prt) драйвер. Существует больше информации об этом и настройке, какой keystoke используется в Статье 244139 КБ.
Так как это реализовано в фактических драйверах клавиатуры, я не ожидаю, что это работало бы от и сессия RDP, даже если бы она была включена.
Если мы щедры, это могло бы, возможно, использоваться в качестве сверхвосторженного способа вызвать дамп катастрофического отказа для того, чтобы вручную расследовать состояние системы? (прежде всего, для отладки)
Хорошо - довольно странный способ сделать это, но...
Я предположил бы, что Microsoft выполняет поблочное тестирование на их ОС прежде, чем выпустить обновления и т.д. По-видимому, один из тестов должен был бы видеть, ведет ли BSOD все еще себя, как он должен. Также имеет смысл выполнять модульные тесты на реальной активной версии кода для более надежного теста.
Необходимо посмотреть видео Mark Russinovich, где он показывает, как диагностировать зависания системы с этой "функцией". Я думаю, что это было просто установлено на прочь в SP2, не удаленном.