我需要一些“解决方案”。可能有很多东西导致此问题,但也许有人可以帮助我。
方案:Windows服务器运行24/7的PostgreSQL数据库和其他服务器应用程序(用于处理数据库等任务)。服务器场景不同(约30种),具有不同的硬件和Windows版本(XP SP3/WinServer等...全部基于NT)。所有的应用程序都是用Delphi7编写的,并链接到DLL(也在D7中)。
几天后(有时是一周,有时是几个月),Windows开始表现异常,就像不打开开始菜单一样,对话框中缺少一些按钮。不久,某些应用程序将无法打开,从而在eventviewer上引发一个事件:
Faulting application x, version y, faulting module kernel32.dll, version 5.1.2600.5781, fault address 0x00012afb
同时,其他应用程序可以正常打开,例如记事本,iexplore等...,但是我的某些应用程序却不能,只有上面描述的事件日志。但是,如果我们不重新启动系统,几天之内,即使cmd.exe也停止打开,(以及所有其他应用程序)在事件日志上出现相同的错误。
我试图找到“什么”会导致这种情况,但没有成功。因此,任何建议都将受到欢迎。
提前致谢。
最佳答案
我认为您用完了资源句柄(窗口句柄)。您可以通过查看Sysinternals Process Explorer(更好的任务管理器)中的系统属性来验证这一点。我认为即使是默认的任务管理器也可以帮助显示句柄数。然后,您可以确定引起问题的应用程序。
一旦知道了应用程序泄漏了(如果它是您的泄漏),则可以使用Rational purify或Boundschecker来深入研究问题。如果您没有足够的钱来使用这些工具,则必须通过停用一些功能来手动减少问题,例如查看句柄数是否仍在增加...
不知道这是否是您遇到的问题,也许是完全无关的。但是很容易检查。跟踪是,当您遇到其他应用程序的问题时,某些应用程序正在窃取某些全局资源。记事本之类的应用程序不会占用太多资源,因此看起来运行良好,繁重的应用程序更容易出现问题。
希望能帮助到你。
关于windows - 应用程序错误: fault address 0x00012afb (Expert),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3040357/