2G内存Dell工作站上运行程序内存不能为written ************

LookSail 2007-09-21 10:15:44
我一个Hook的监控程序(SetWindowsHookEx)跑了很多台计算机,都超过1年了,没有什么问题

可是现在在1个2G内存Dell工作站上跑的时候(Xp Sp2 32位),在多次开机中会explorer有时出现内存不能为written的问题,并不是必然出现,或者注销很多次里面也会出现

崩溃地址为0x77...或者0x7d...,这都是调用系统函数时出的错

我怀疑是内存泄露或越界,但仔细排查了一遍应该没有问题

实在找不到原因,人也已经快崩溃了,哪位有什么好办法,只要能帮上忙,什么都可以给!
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziseliuxingzh 2008-01-08
  • 打赏
  • 举报
回复
帮不上忙,帮你顶下吧
nooning 2007-09-27
  • 打赏
  • 举报
回复
线程冲突?看explorer有没挂什么插件,分析explorer运行后有没载入不正常的dll
定位出错点,由哪个线程发出,一般explorer会有多个线程组成。如果确定不是由你的线程发出,那么查找出错线程哪个模块载入(可以根据ThreadContext的入口或当前EIP确定模块)
LookSail 2007-09-22
  • 打赏
  • 举报
回复
多谢二位,今天别人休息没法调试,苦等

如果不挂我的程序是没有问题的

哪位有这方面的经验可以借鉴一下的,网上的我都已经搜过了
龙凤呈祥焱 2007-09-22
  • 打赏
  • 举报
回复
1.这时候应该可以直接把调试器挂上去吧??
2.不一定是你的程序有问题.也许这台机器的系统本身就有问题.我有一个程序调用IE控件.可有的机器IE中招了.经常把我的程序挂掉.
masterz 2007-09-21
  • 打赏
  • 举报
回复
2个建议:首先向你的程序你添加调试信息,参考下面的文章看能否找到出错时的call stack
http://www.codeproject.com/debug/releasemode.asp
另外,使用crashfinder,输入出错的地址看看能否找到出错的位置
http://www.wintellect.com/cs/blogs/jrobbins/archive/2006/04/19/crashfinder-returns.aspx
LookSail 2007-09-21
  • 打赏
  • 举报
回复
另外奇怪的是“0x77f4412c”指令引用的“0x77f4412c”内存

指令和引用的内存竟然一样

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧