#windbg #ndis #bsod
#windbg #ndis #bsod
Вопрос:
Я включил флаг проверки NDIS / WIFI моего драйвера в средстве проверки драйверов. Это привело к появлению BSOD из-за нарушения правила ndistimeddatahang. Когда я проанализировал дамп, я получил —
DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
Аргументы:
Arg1: 000000000009200f, идентификатор правила ‘NdisTimedDataHang’, которое было нарушено.
Arg2: fffff806cd819200, указатель на строку, описывающую нарушенное условие правила.
Arg3: ffff87862606b110, адрес состояния внутреннего правила (второй аргумент для !ruleinfo).
Arg4: ffff87862606b240, Адрес дополнительных состояний (третий аргумент для !ruleinfo).
Когда я сделал !ndiskd.pendingnbls, я получил список NBL, которые в настоящее время находятся на рассмотрении, пока был создан дамп. Чтобы выяснить, какой NBL вызвал нарушение, я попытался использовать команду !ruleinfo с аргументами, полученными при анализе.
ruleinfo 0x9200f 0xffff87862606b110 0xffff87862606b240
но Windbg сообщил об ошибке —
Не удалось прочитать состояние правила (проверьте второй аргумент).
Что я делаю не так? Есть ли какой-либо способ выяснить, какой NBL не удалось завершить за 22 секунды, что является требованием для правила ndistimeddatahang?
Комментарии:
1. я бы предложил отправить этот запрос в список ntdev из community.osr.com вы можете получить лучший ответ от некоторых разработчиков ms, таких как Джеффри Типпет, которые просматривают этот список
2. @blabb Спасибо за предложение. Опубликовано там. Похоже, что это сообщество более активно занимается вопросами, связанными с драйверами Windows.