windows 应用程序错误:故障地址 0x00012afb(专家)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3040357/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 14:39:15  来源:igfitidea点击:

Application error: fault address 0x00012afb (Expert)

windowsevent-logkernel32

提问by Christian

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).

场景:Windows 服务器 24/7 运行 PostgreSQL 数据库和其他服务器应用程序(用于处理数据库上的任务等......)。有不同的服务器方案(约 30 个),具有不同的硬件和 Windows 版本(XP SP3/WinServer 等...都基于 NT)。所有应用程序都是用 Delphi7 编写的,并链接到 DLL(也在 D7 中)。

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:

几天后(有时是一周,有时是几个月),Windows 开始表现得很奇怪,比如打不开开始菜单,对话框中缺少一些按钮。很快一些应用程序就打不开了,在事件查看器上引发了一个事件:

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.

同时,其他应用程序可以正常打开,例如记事本、iexplore 等……但我的某些应用程序不能正常打开,只有上述事件日志。但是如果我们不重新启动系统,几天后甚至 cmd.exe 也会停止打开,(以及所有其他应用程序)在事件日志上出现相同的错误。

I've tried to find 'what' can cause this, but with no sucess. So, and any advice will be welcome.

我试图找到导致这种情况的“什么”,但没有成功。所以,任何建议都将受到欢迎。

Thanks in advance.

提前致谢。

回答by jdehaan

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.

我认为您的资源句柄(窗口句柄)用完了。您可以通过查看Sysinternals Process Explorer(更好的任务管理器)中的系统属性来验证这一点。我认为即使是默认的任务管理器也可以帮助显示句柄计数。然后您可以确定哪个应用程序导致了问题。

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...

一旦您知道应用程序泄漏并且如果它是您的,您就可以使用 Rational purify 或 Boundschecker 来深入到问题所在。如果您没有钱购买这些工具,您将不得不通过停用某些功能来手动减少问题,例如查看句柄数是否仍然增加......

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.

希望能帮助到你。