阅读:3576回复:29
网卡启动程序卸载时就蓝屏???(原程序)
原程序:
VOID RHalt(IN NDIS_HANDLE MiniportAdapterContext) { PADAPTER adapter = (PADAPTER)MiniportAdapterContext; //!DbgPrint(\"RHalt \\n\"); while(adapter->FreeRxPkt != NUM_OF_PACKETS) DbgPrint(\"RHalt: FreeRxPkt=%x \\n\", adapter->FreeRxPkt); while(adapter->FreeTxDesc != NUM_OF_DESC) DbgPrint(\"RHalt: FreeTxDesc=%x \\n\", adapter->FreeTxDesc); NdisRawWritePortUshort(adapter->ioaddr + IntrMask, 0); NdisRawWritePortUchar(adapter->ioaddr + ChipCmd, 0); FreeRes((PADAPTER)MiniportAdapterContext); } |
|
最新喜欢:![]() |
沙发#
发布于:2004-08-30 20:46
我曾经build过前面附件上的程序,安装可运行,但卸载就蓝屏,最后在安全模式下卸载的。我刚学,不懂,解决不了,不知那位高手能帮解决一下。
|
|
板凳#
发布于:2004-08-23 10:03
[quote][quote]在EXFREEPOOL处下断点看看,参数地址是否存在?? 呵呵,知道这个恐怕还是不能解决问题啊。 问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候 出现了内存访问错误? [/quote] up以下 [/quote] 真的没人知道吗? 还是知道没热情说啊? |
|
|
地板#
发布于:2004-08-18 12:48
[quote]在EXFREEPOOL处下断点看看,参数地址是否存在?? 呵呵,知道这个恐怕还是不能解决问题啊。 问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候 出现了内存访问错误? [/quote] up以下 |
|
|
地下室#
发布于:2004-08-16 16:01
在EXFREEPOOL处下断点看看,参数地址是否存在?? 呵呵,知道这个恐怕还是不能解决问题啊。 问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候 出现了内存访问错误? |
|
|
5楼#
发布于:2004-08-14 10:40
在EXFREEPOOL处下断点看看,参数地址是否存在??
|
|
|
6楼#
发布于:2004-08-13 14:20
c查看下STACK的信息看,从哪里进去的,估计有可能重复释放内存了. 调用栈栈由上之下的情况 NdisPnpNotifybind | NdisPnpRemoveDevice | NdisCloseMiniportBinds | NdisUnbindProtocol | _ARPUnbindAdapter | ExFreePool | ExFreePoolWithTag //ExFreePoolWithTag出的错! |
|
|
7楼#
发布于:2004-08-13 11:41
c查看下STACK的信息看,从哪里进去的,估计有可能重复释放内存了.
|
|
|
8楼#
发布于:2004-08-13 11:26
[quote]我发现一个问题,你没有提供RUnload,或许是在别处提供了。 仍然还是死机 [/quote] 手头没有内核符号,但是可以发现是由tcpip.sys进入ExFreePoolWithTag然后出现错误的。 |
|
|
9楼#
发布于:2004-08-12 15:49
我发现一个问题,你没有提供RUnload,或许是在别处提供了。 仍然还是死机 |
|
|
10楼#
发布于:2004-08-12 14:46
我发现一个问题,你没有提供RUnload,或许是在别处提供了。 这个程序是本站提供的rtl8139源程序, 还有一个bug就是Dregisterinterrupt,但是这几个bug应该都没有问题啊,因为还没进入halt啊! |
|
|
11楼#
发布于:2004-08-12 14:40
我发现一个问题,你没有提供RUnload,或许是在别处提供了。
但我记得DDK里说50 51版本的 DriverUnload应该是用NdisMRegisterUnloadHandler。 我有过类似的经历,这是我程序里的几句: #ifdef WIN9X DriverObject->DriverUnload = MPUnload; #else NdisMRegisterUnloadHandler(wrapperHandle, MPUnload); #endif 也许不是这个原因,因为MPUnload应该在HALT后面调用。 |
|
12楼#
发布于:2004-08-12 13:47
[quote][quote][quote][quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] punk老兄,看你也是2001级的,回贴怎么也不看看时间。 [/quote] 不知道哪个兄弟最好解决的这个问题? 不小气的话就发句言。 [/quote] 这个问题不跟一下代码谁也不还回答。 如果你在HALT前下了N(N>1)个断点也没有拦截的错误,有可能是系统需要的某个回调函数你没有提供。 [/quote] 附件来了,应该就是本站上那个, 我也怀疑到可能是回调没有完全提供,但是还没找出来。 |
|
|
13楼#
发布于:2004-08-12 13:35
[quote][quote][quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] punk老兄,看你也是2001级的,回贴怎么也不看看时间。 [/quote] 不知道哪个兄弟最好解决的这个问题? 不小气的话就发句言。 [/quote] 这个问题不跟一下代码谁也不还回答。 如果你在HALT前下了N(N>1)个断点也没有拦截的错误,有可能是系统需要的某个回调函数你没有提供。 |
|
14楼#
发布于:2004-08-12 13:05
[quote][quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] punk老兄,看你也是2001级的,回贴怎么也不看看时间。 [/quote] 不知道哪个兄弟最好解决的这个问题? 不小气的话就发句言。 |
|
|
15楼#
发布于:2004-08-12 11:56
[quote][quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] punk老兄,看你也是2001级的,回贴怎么也不看看时间。 [/quote] 不好意思啊,这个问题还没有答案,所以想翻出来晒晒 |
|
|
16楼#
发布于:2004-08-12 10:10
[quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] punk老兄,看你也是2001级的,回贴怎么也不看看时间。 |
|
17楼#
发布于:2004-08-11 17:24
[quote]根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 [/quote] 出错在ExFreePoolWithTag这个函数 |
|
|
18楼#
发布于:2004-08-11 13:50
根据我经验,指针的原因很大。 出错的时候还没进入RHalt,调用完RSet之后马上就蓝屏了, 哪位大虾指点以下 |
|
|
19楼#
发布于:2004-03-20 13:28
根据我经验,指针的原因很大。
|
|
|
上一页
下一页