要说,我也是个人才,原来觉地没有任何问题的代码,编译签名,然后测试,没想到装上后一运行就蓝屏。
系统报:
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: 0000000000000064, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000000, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: fffff802939c99fe, address which referenced memory
Debugging Details:
------------------
从这来看,应该又是NULL地址引用导致的,加上windbg一看,竟然是dbgPrint引起的
00 fffff802`93a4c57a : 00000000`00000064 00000000`0000000a fffff802`96407490 fffff802`93886e20 : nt!DbgBreakPointWithStatus
01 fffff802`93a4bf5d : 00000000`00000003 fffff802`96407490 fffff802`939e8ff0 00000000`0000000a : nt!KeEnterKernelDebugger+0x216
02 fffff802`939d6a44 : 00000000`00000000 00000000`00000001 00000000`00000000 ffffb582`0000004b : nt!KeInitializeEnumerationContextFromAffinity+0x8b5
03 fffff802`939e6929 : 00000000`0000000a 00000000`00000064 00000000`00000002 00000000`00000000 : nt!KeBugCheckEx+0x104
04 fffff802`939e3a66 : ffffb582`7cfc17d0 00000000`00000001 ffffb582`6fdae888 ffffb582`7a20f040 : nt!setjmpex+0x6dc9
05 fffff802`939c99fe : 00000000`00000000 00000000`000000d0 ffffc800`991b1420 00000000`00000300 : nt!setjmpex+0x3f06
06 fffff802`939c61d5 : fffff802`93b99b70 fffff802`938e6cd4 00000000`0000007f fffff806`05b24b44 : nt!wctomb+0x10ae
07 fffff802`939c6159 : 00000000`0000007f 00000000`00000003 00000000`00000003 00000000`000036e5 : nt!vsnprintf+0x8d
08 fffff802`938989b7 : 00000000`96408100 00000000`00000001 00000000`00000000 fffff802`93bb1508 : nt!vsnprintf+0x11
09 fffff802`93886f69 : ffffffff`ffffffff 00000000`00000080 00000000`00000002 00000000`00000000 : nt!IoBuildAsynchronousFsdRequest+0x757
0a fffff802`93886e64 : ffffb582`7bd68a40 00000000`000000e0 ffffb582`7d705390 ffffb582`7d705390 : nt!vDbgPrintEx+0xfd
0b fffff806`0b0d1560 : 00000000`00000064 00000000`00000000 00000000`00000000 00000001`f80e7a63 : nt!DbgPrint+0x3c
为啥了,因为我的代码写成了
DbgPrint(("DropRawData count=%dn", deviceExtension->TempFrameCount));
KdPrint的双括号害人不浅啊。
代码我不想分析了~~~,有兴趣的可以看一下DbgPrint的实现。
最后
以上就是迷人发夹最近收集整理的关于DbgPrint引起的蓝屏的全部内容,更多相关DbgPrint引起内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复