whzhang
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2134回复:11

不幸

楼主#
更多 发布于:2001-08-28 16:38
我的网卡驱动程序在初始化以后,发了两个包就出现
Break due to Page Fault(0Eh). Fault=0000
   MSR LastExceptionFromIp=C029F798
      MSR LastExceptionToIp=C029F7A2
每次都是发送两个包,不知道是怎么回事。
我使用softice调试的。

最新喜欢:

sunionsunion
jetnet
游客
游客
沙发#
发布于:2001-08-28 17:14
查查指针吧,内存的问题可能行最大!
crash
驱动牛犊
驱动牛犊
  • 注册日期2001-08-10
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-29 08:39
我的IMD也是这样,发几个包后就死了,根本进不去W2k,用softice调试也显示如上信息,每次都是执行到一个固定的地方,恳请哪位大侠赐教,这种情况意味着什么,如何找到出错的地方?另外,MSR是什么意思?在追加20分
在黑暗中我将孤独的前行,一无反顾...
quarkfc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-13
  • 最后登录2006-07-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-29 10:08
同感. 内存指针问题.
估计是因为你对NDIS的某个函数或结构的理解有偏差.
jetnet
游客
游客
地下室#
发布于:2001-08-30 16:48
以前有一次,本来应该用指针的指针的当参数,我想当然的就直接用指针,也是收发几次后,开始死机。也就是说,对不正确内存的操作,也不是马上就死机,所以这才迷惑你,以为这没问题。其实问题在前面,只是到后面才发作。
whzhang
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-31 10:27
请问:我用了一个函数ndismindicatepacket,其中就有指针的指针:PPNDIS_PACKET,而我要在这里使用PNDIS_PACKET 格式的ReceivePacket,我使用的是&ReceivePacket作为PPNDIS_PACKET格式,是不是这里出了问题,应该改成什么样子!
Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-08-31 10:48
你用的是NdisMIndicateReceivePacket吧!它是用来指示多个PNDIS_PACKET描述符,所以是PPNDIS_PACKET,你用&ReceivePacket作为PPNDIS_PACKET格式是没有问题的,我也是这么做的。
Death is only the beginning
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-02 22:58
真是有不少人遇到过这样的问题,看过哪个贴子总结过这问题的几种情况。{Break due to Page Fault(0Eh). Fault=0000}
好像是:
1)引用的指针出错;
2)分配的POOL大小有错;
3)程序代码的IRQL有错

不知道,这irql,怎样修改。

 
按第一贴的“给分”键,给分。
yiduz
驱动小牛
驱动小牛
  • 注册日期2001-04-28
  • 最后登录2003-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-12 15:22
感觉irql的可能性很大,如果是这个问题只能在程序结构中想办法了,比如起一个新线程等。
ydzhang
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-12 15:28
irql有函数可以设的,但是在98的VXD中呢??他没有IRQL的,


 

1)引用的指针出错;
2)分配的POOL大小有错;
3)程序代码的IRQL有错

 

出现这个问题肯定是内存寻址时出的错了,不过是哪里产生的就不好说了,我现在正在痛苦的找
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-12 15:57
检查看看申请BUFER、BUFFER描述符、PACKET描述符的返回结果。
要确定是申请下来了。
同时如果涉及到PACKET描述符复用,看看有没有正确的重新初始化。

不知道你遇到的问题,蓝屏报错是什么信息?
个人以为是内存指针出错。
==寂寞骆驼==
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-11-12 15:59
你申请的是非分页内存吗?看字面意思是内存分页出问题了。是不是在使用非分页的地方用了分页。
==寂寞骆驼==
游客

返回顶部