应用程序不再工作 - 任何想法

时间:2009-01-08 15:33:13

标签: winapi access-violation

我不知道为什么我的应用程序突然停止工作 - 也许SO社区的集体思想可以帮助...
背景:
我有一个大型应用程序,直到最近才开始工作。现在,当我尝试运行它时,我收到错误“应用程序未能正确初始化(0xc0000005)” 在应用程序到达_tmain()之前会发生这种情况。它发生在发布和调试版本中。我已经尝试清理和重建项目并重新启动我的电脑。

调用堆栈只显示kernel32.dll和ntdll.dll的条目 输出窗口显示:

First-chance exception at 0x00532c13 in a.exe: 0xC0000005: Access violation reading location 0xabababdb.
First-chance exception at 0x7c964ed1 in a.exe: 0xC0000005: Access violation.
Unhandled exception at 0x7c964ed1 in a.exe: 0xC0000005: Access violation.

有什么想法吗?

编辑:
好的 - 发现了问题 - 它 dll相关的 我的应用程序使用共享dll a.dll和b.dll(以及其他)
a.dll几乎不会每次更改(并使用b.dll
今天早上另一位开发人员更改了b.dll,并且没有重建a.dll。

Depends.exe没有显示任何丢失的dll,但是由于b.dll的更改,a.dll不再有效

5 个答案:

答案 0 :(得分:2)

这个链接似乎描述了三个可能的原因:

  • 数据执行预防
  • 驱动程序或系统更新
  • 故障拉姆

此处的详细信息:http://www.updatexp.com/0xC0000005.html

如果您找到原因,请告诉我们

答案 1 :(得分:1)

检查权限?

答案 2 :(得分:1)

可能是Windows更新与系统混乱。

答案 3 :(得分:1)

应用程序可能需要一些.dll文件,但是找不到它,或者不允许访问它。

您使用的是某些dll,还是某种类型的运行时库?

答案 4 :(得分:1)

您是否使用过SysInternals套件来检查发生了什么?如果它访问文件,DLL或注册表项并且访问被拒绝,这将帮助您查明任何失败。

如果您将程序安装在其他位置,您的程序是否正常工作? (另一台计算机)这可能有助于隔离问题。

- 您可以检查事件日志(应用程序,系统等)以查看是否有任何关于该问题的记录。

- 另一件事......自从你更新了Tortoise,也许它使用了你的应用程序也使用的DLL。您应该检查是否有任何DLL版本已更改。您可以卸载较新版本的Tortoise。或者更激烈,尝试注册表恢复。 (http://support.microsoft.com/kb/322756)或者如果您使用Ghost / Acronis还原到操作系统的早期映像。

最后,我建议尝试非常具体地找出问题所在。我在解决问题时提到了一些激烈的措施,但希望你可以专门(即DLL ver x导致问题)缩小范围。否则,应用程序的客户端或用户会遇到同样的问题。