首页 > 解决方案 > 调试驱动程序验证程序报告的 NdisTimedDataHang

问题描述

我在 Driver Verifier 中启用了我的驱动程序的 NDIS/WIFI 验证标志。这导致 BSOD 达到ndistimeddatahang规则。当我分析转储时,我得到 -

DRIVER_VERIFIER_DETECTED_VIOLATION (c4)

论据:

Arg1:000000000009200f,违反的“NdisTimedDataHang”规则的 ID。

Arg2:fffff806cd819200,指向描述违反规则条件的字符串的指针。

Arg3:ffff87862606b110,内部规则状态的地址(!ruleinfo 的第二个参数)。

Arg4:ffff87862606b240,补充状态地址(!ruleinfo 的第三个参数)。

当我执行 !ndiskd.pendingnbls时,我得到了在进行转储时当前待处理的 NBL 列表。为了弄清楚哪个 NBL 导致了违规,我尝试使用!ruleinfo命令和分析中收到的参数。

规则信息 0x9200f 0xffff87862606b110 0xffff87862606b240

但是Windbg报错了——

读取规则状态失败(检查第二个参数)。

我究竟做错了什么 ?有什么方法可以确定哪个 NBL 未能在 22 秒内完成,这是 ndistimeddatahang 规则的要求?

标签: windbgndisbsod

解决方案


推荐阅读