GettingStart
驱动牛犊
驱动牛犊
  • 注册日期2002-12-27
  • 最后登录2003-08-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1901回复:5

关于Page Fault的问题!!

楼主#
更多 发布于:2003-02-13 11:20
我的驱动出现了一个page fault,经检查使用的指针的值都是正常的。我现在不知道该怎么办了,请各位大侠多多指教,小弟万分感谢,万分感谢!!!!!
至尊宝
swf2003
驱动中牛
驱动中牛
  • 注册日期2003-02-13
  • 最后登录2011-10-28
  • 粉丝1
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-17 09:57
看看有没有复制该指针变量。若有,看有无这种情况,释放了一个而另外一个没有清空。
你的认可是对我最大的鼓励!
robin_wxg
驱动小牛
驱动小牛
  • 注册日期2003-02-10
  • 最后登录2009-09-21
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-14 23:17
你可以试试加Win2000 DDK 带的Driver Verify,再用Softice 去load driver并translate一下,可以看见Page fault出现在你程序的什么地方.
























sisisisi
驱动牛犊
驱动牛犊
  • 注册日期2003-02-12
  • 最后登录2003-02-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-13 16:42

如果你有方法让他每次都重现的话,就debug一点一点深入进去找呗,
种问题不难解决.
造成Page Fault原因可能很多,间接调用,非法指针,堆栈益处都有可能.另外,Page Fault的Blue Screen上有很有用的调用堆栈信息,把
这些记下来,然后根据发生问题的模块倒退回你的驱动程序会很有帮助.最讨厌的是那种找不到发生规律的exceptions,找起来很费劲因为发生现场很难被保留下来.这时候只能根据dump来到推在加上写test
程序尝试提高发生概率来定位问题.
说了这么多,也不一定对你的问题有帮助,具体问题具体分析,另外你
的问题也太大了些.见笑见笑...
GettingStart
驱动牛犊
驱动牛犊
  • 注册日期2002-12-27
  • 最后登录2003-08-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-13 15:50
我已经加了宏,确保没有大于等于Dispatch Level,但还是出现Page fault.还有别的引起page fault的原因吗?或者一般有什么解决办法?
至尊宝
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-02-13 11:27
指针正确不一定不出现page fault呀,在dispatch level访问了分页的内存,也会有呀。
游客

返回顶部