阅读:2134回复:11
不幸
我的网卡驱动程序在初始化以后,发了两个包就出现
Break due to Page Fault(0Eh). Fault=0000 MSR LastExceptionFromIp=C029F798 MSR LastExceptionToIp=C029F7A2 每次都是发送两个包,不知道是怎么回事。 我使用softice调试的。 |
|
最新喜欢:sunion |
板凳#
发布于:2001-08-29 08:39
我的IMD也是这样,发几个包后就死了,根本进不去W2k,用softice调试也显示如上信息,每次都是执行到一个固定的地方,恳请哪位大侠赐教,这种情况意味着什么,如何找到出错的地方?另外,MSR是什么意思?在追加20分
|
|
|
地板#
发布于:2001-08-29 10:08
同感. 内存指针问题.
估计是因为你对NDIS的某个函数或结构的理解有偏差. |
|
地下室#
发布于:2001-08-30 16:48
以前有一次,本来应该用指针的指针的当参数,我想当然的就直接用指针,也是收发几次后,开始死机。也就是说,对不正确内存的操作,也不是马上就死机,所以这才迷惑你,以为这没问题。其实问题在前面,只是到后面才发作。
|
|
5楼#
发布于:2001-08-31 10:27
请问:我用了一个函数ndismindicatepacket,其中就有指针的指针:PPNDIS_PACKET,而我要在这里使用PNDIS_PACKET 格式的ReceivePacket,我使用的是&ReceivePacket作为PPNDIS_PACKET格式,是不是这里出了问题,应该改成什么样子!
|
|
6楼#
发布于:2001-08-31 10:48
你用的是NdisMIndicateReceivePacket吧!它是用来指示多个PNDIS_PACKET描述符,所以是PPNDIS_PACKET,你用&ReceivePacket作为PPNDIS_PACKET格式是没有问题的,我也是这么做的。
|
|
|
7楼#
发布于:2002-06-02 22:58
真是有不少人遇到过这样的问题,看过哪个贴子总结过这问题的几种情况。{Break due to Page Fault(0Eh). Fault=0000}
好像是: 1)引用的指针出错; 2)分配的POOL大小有错; 3)程序代码的IRQL有错 不知道,这irql,怎样修改。 |
|
|
8楼#
发布于:2002-11-12 15:22
感觉irql的可能性很大,如果是这个问题只能在程序结构中想办法了,比如起一个新线程等。
|
|
|
9楼#
发布于:2002-11-12 15:28
irql有函数可以设的,但是在98的VXD中呢??他没有IRQL的,
出现这个问题肯定是内存寻址时出的错了,不过是哪里产生的就不好说了,我现在正在痛苦的找 |
|
|
10楼#
发布于:2002-11-12 15:57
检查看看申请BUFER、BUFFER描述符、PACKET描述符的返回结果。
要确定是申请下来了。 同时如果涉及到PACKET描述符复用,看看有没有正确的重新初始化。 不知道你遇到的问题,蓝屏报错是什么信息? 个人以为是内存指针出错。 |
|
|
11楼#
发布于:2002-11-12 15:59
你申请的是非分页内存吗?看字面意思是内存分页出问题了。是不是在使用非分页的地方用了分页。
|
|
|