应用程序错误:故障地址0x00012afb(专家)
我需要一些“光”来找到解决方案。可能有很多事情会导致这个问题,但也许有人可以帮助我。
场景:Windows 服务器 24/7 运行 PostgreSQL 数据库和其他服务器应用程序(用于处理数据库上的任务等...)。有不同的服务器场景(~30),具有不同的硬件和 Windows 版本(XP SP3/ WinServer 等......全部基于 NT)。所有应用程序都是用 Delphi7 编写的,并链接到 DLL(也在 D7 中)。
几天后(有时是一周,有时是几个月),Windows 开始表现得很奇怪,比如无法打开开始菜单,对话框中缺少一些按钮。很快,一些应用程序无法打开,在事件查看器上引发事件:
Faulting application x, version y, faulting module kernel32.dll, version 5.1.2600.5781, fault address 0x00012afb
与此同时,其他应用程序可以正常打开,例如记事本、iexplore 等...但我的某些应用程序不能打开,只有上面描述的事件日志。但如果我们不重新启动系统,几天后甚至 cmd.exe 也会停止打开(以及所有其他应用程序),事件日志上会出现相同的错误。
我试图找出导致此问题的“原因”,但没有成功。因此,欢迎任何建议。
提前致谢。
I need some "light" to get a solution. Probably there are tons of things that cause this problem, but maybe somebody could help me.
Scenario: a Windows server running 24/7 a PostgreSQL database and others server applications (for processing tasks on database, etc...). There are differents servers scenarios (~30), with different hardware and windows versions (XP SP3/ WinServer, etc... all NT based). All aplications were written in Delphi7, and link to DLLs (in D7 also).
After some days (sometimes a week, sometimes a couple of months), Windows begins to act strange, like not opening start menu, some buttons are missing in dialogs. And soon some applications do not open, raising a event on eventviewer:
Faulting application x, version y, faulting module kernel32.dll, version 5.1.2600.5781, fault address 0x00012afb
In mean while, others applications open fine, like notepad, iexplore, etc... but SOME of my applications don't, with only event log described above. But if we do not restart system, in a few days even cmd.exe stops open, (and all other applications) with same error on eventlog.
I've tried to find 'what' can cause this, but with no sucess. So, and any advice will be welcome.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您的资源句柄(窗口句柄)已用完。您可以通过查看 Sysinternals Process Explorer(更好的任务管理器)。我认为即使是默认的任务管理器也可以帮助显示句柄计数。然后您就可以确定是哪个应用程序造成了问题。
一旦您知道应用程序正在泄漏并且它是否是您的,您就可以使用 Rational purify 或 Boundschecker 来深入查找问题。如果您没有钱购买这些工具,您将不得不通过停用某些功能来手动减少问题,例如,看看句柄计数是否仍然增加...
不确定这是否是您遇到的问题,也许完全是这样无关。但很容易检查。原因是当您在使用其他应用程序时遇到问题时,某些应用程序正在窃取一些全局资源。像记事本这样的应用程序不会使用太多资源,因此看起来工作正常,但重型应用程序更有可能出现问题。
希望有帮助。
I think you are running out of resource handles (Window handles). You can verify this by having a look at the system properties in Sysinternals Process Explorer (a better task manager). I think even the default task manager can help out to display a handle count. Then you can identify which application is causing the trouble.
Once you know the application leaking and if it is yours, you can use Rational purify or Boundschecker to drill down to the problem. If you do not have money for these tools you will have to reduce the problem manually a bit by deactivating some features for example and see if the handle count still increases...
Not sure if it is the problem you are experiencing maybe it is completely unrelated. But easy to check. The track is that some app is stealing some global resources as you experience trouble with other applications. Applications like notepad do not use much resources so appear to work fine, heavy apps are more likely to show up the trouble.
Hope it helps.