Casey
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2002-05-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1152回复:2

内存?!

楼主#
更多 发布于:2001-12-12 16:22
WIN2K 2000DDK 网卡
在驱动程序中的初始化程序中初始化一个链表
为每个链表中的节点分配内存用NdisAllocateMemoryWithTag函数
分配的是Nonpaged内存
调试时发现无论链表的节点数是多少
链表中的最后5个节点所分配的内存总是溢出
SoftICE的出错提示为:
An overrun error occured in memery 84******(具体地址) block
请教各位大侠不吝赐教。
谢谢!
 :)
闲看庭前花开花谢 漫随天外云卷云舒
Casey
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2002-05-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-12-20 10:05
谢谢xqchen!
程序中的Bug找到了。
而且发现驱动程序分配内存是一次分配个一大片,然后再细分给各个结构的。
闲看庭前花开花谢 漫随天外云卷云舒
xqchen
驱动牛犊
驱动牛犊
  • 注册日期2001-09-07
  • 最后登录2004-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-12-13 03:26
That\'s BoundsChecker error warning, you can disable it by disable BoundsChecker or just disable memory track in BoundsChecker. But you\'d better set a memory access breakpoint to figure out who overrun the memory. For example \"bpmd BLockEndAddress w\", where BlockEndAddress=Block Address+Block size.

If you doubt BoundsChecker, you might be able to use Driver Verifier in DDK\\bin to test it again. But I believe there\'s a bug in your code, you need to dig it out.

游客

返回顶部