BSOD求助!

yjgx007 2011-11-21 05:29:22
下面的细节是用windbg分析驱动蓝屏后的mini dump

0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by try-except,
it must be protected by a Probe. Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fffffa80089b6000, memory referenced.
Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
Arg3: fffff80002a68d0a, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000000, (reserved)

Debugging Details:
------------------

驱动中主要执行代码我都用try-except包起来了(不多10几行)
BSOD情况很不稳定,在用户层调用驱动时, 有时又不发生蓝屏, 我很难查到哪个指针是无效的引用内存, 既然不能用try-except,那还有其它方法检查指针, 防止蓝屏吗?
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
noodle123 2011-11-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yjgx007 的回复:]

初步解决了, 但还有待更多测试和验证.
具体是可能和目标内存分配太小有关, 在调用RtlUnicodeToAnsi时, 目标Ansi的内存分配较小, 在转换过程中越界写内存.
[/Quote]楼主厉害,门外汉顶一下。。。
yjgx007 2011-11-25
  • 打赏
  • 举报
回复
初步解决了, 但还有待更多测试和验证.
具体是可能和目标内存分配太小有关, 在调用RtlUnicodeToAnsi时, 目标Ansi的内存分配较小, 在转换过程中越界写内存.
W1nds 2011-11-22
  • 打赏
  • 举报
回复
关注。。。
顺便问下跟PAGE_FAULT_IN_NONPAGED_AREA这玩意有关系么
smwhotjay 2011-11-22
  • 打赏
  • 举报
回复
驱动指针要小心玩. 出错就BSOD
Yofoo 2011-11-22
  • 打赏
  • 举报
回复
我很难查到哪个指针是无效的引用内存

有Dump文件还查不到原因吗?
oyljerry 2011-11-21
  • 打赏
  • 举报
回复
所有使用指针的地方都打印一下出来看看.

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧