punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-08-12 14:46
我发现一个问题,你没有提供RUnload,或许是在别处提供了。
但我记得DDK里说50 51版本的 DriverUnload应该是用NdisMRegisterUnloadHandler。
我有过类似的经历,这是我程序里的几句:
#ifdef WIN9X
    DriverObject->DriverUnload = MPUnload;
#else
    NdisMRegisterUnloadHandler(wrapperHandle, MPUnload);
#endif
也许不是这个原因,因为MPUnload应该在HALT后面调用。
 

这个程序是本站提供的rtl8139源程序,
还有一个bug就是Dregisterinterrupt,但是这几个bug应该都没有问题啊,因为还没进入halt啊!
不停学习
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-08-12 15:49
我发现一个问题,你没有提供RUnload,或许是在别处提供了。
但我记得DDK里说50 51版本的 DriverUnload应该是用NdisMRegisterUnloadHandler。
我有过类似的经历,这是我程序里的几句:
#ifdef WIN9X
    DriverObject->DriverUnload = MPUnload;
#else
    NdisMRegisterUnloadHandler(wrapperHandle, MPUnload);
#endif
也许不是这个原因,因为MPUnload应该在HALT后面调用。
 

仍然还是死机
不停学习
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-08-13 11:26
[quote]我发现一个问题,你没有提供RUnload,或许是在别处提供了。
但我记得DDK里说50 51版本的 DriverUnload应该是用NdisMRegisterUnloadHandler。
我有过类似的经历,这是我程序里的几句:
#ifdef WIN9X
    DriverObject->DriverUnload = MPUnload;
#else
    NdisMRegisterUnloadHandler(wrapperHandle, MPUnload);
#endif
也许不是这个原因,因为MPUnload应该在HALT后面调用。
 

仍然还是死机 [/quote]
手头没有内核符号,但是可以发现是由tcpip.sys进入ExFreePoolWithTag然后出现错误的。
不停学习
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
23楼#
发布于:2004-08-13 11:41
c查看下STACK的信息看,从哪里进去的,估计有可能重复释放内存了.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2004-08-13 14:20
c查看下STACK的信息看,从哪里进去的,估计有可能重复释放内存了.

调用栈栈由上之下的情况
NdisPnpNotifybind
      |
NdisPnpRemoveDevice
      |
NdisCloseMiniportBinds
      |
NdisUnbindProtocol
      |
_ARPUnbindAdapter
       |
ExFreePool
       |
ExFreePoolWithTag
      //ExFreePoolWithTag出的错!
不停学习
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
25楼#
发布于:2004-08-14 10:40
在EXFREEPOOL处下断点看看,参数地址是否存在??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2004-08-16 16:01
在EXFREEPOOL处下断点看看,参数地址是否存在??

呵呵,知道这个恐怕还是不能解决问题啊。
问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候
出现了内存访问错误?
不停学习
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2004-08-18 12:48
[quote]在EXFREEPOOL处下断点看看,参数地址是否存在??

呵呵,知道这个恐怕还是不能解决问题啊。
问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候
出现了内存访问错误?
 [/quote]
up以下
不停学习
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2004-08-23 10:03
[quote][quote]在EXFREEPOOL处下断点看看,参数地址是否存在??

呵呵,知道这个恐怕还是不能解决问题啊。
问题除在_ArpUnbindAdapter,大概就是_Arp协议驱动unbind的时候
出现了内存访问错误?
 [/quote]
up以下 [/quote]
真的没人知道吗?
还是知道没热情说啊?
不停学习
muy2004
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2005-04-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
29楼#
发布于:2004-08-30 20:46
我曾经build过前面附件上的程序,安装可运行,但卸载就蓝屏,最后在安全模式下卸载的。我刚学,不懂,解决不了,不知那位高手能帮解决一下。
上一页 下一页
游客

返回顶部