【问题标题】:C++ application exit error code 62097 - What does that mean?C++ 应用程序退出错误代码 62097 - 这是什么意思?
【发布时间】:2012-02-29 12:23:35
【问题描述】:

我的程序正在退出,代码为“62097”(或十六进制 0xF291)。 我知道是哪个 DLL 库导致它,我正试图弄清楚它为什么会搞砸。

62097 是什么意思?我怎样才能知道?我在网上查了一下,as farcan tell 一样,一般的 Windows 错误代码不会达到 62097。

还有什么其他建议可以解决这个问题吗? 我在引起问题的 DLL 上使用了 Dependency Walker,但除了缺少 IESHIMS.dll、IEFRAME.dll 和 SHLWAPI.dll(我使用 Dependency Walker 时通常会丢失)之外,一切都很好。

有问题的库是我自己编译的第 3 方库 - 很可能我编译不正确 - 我如何判断是否是这种情况?

程序在进入 main() 之前拒绝运行,但前提是我使用从 DLL 导入的类。如果我没有使用 DLL 中的任何内容,程序可以正常启动。

该程序在技术上“正在运行”,但在后台,在代码到达我之前。它不是类的构造函数,因为我尝试过这样做:

dllClass *class = new dllClass;

在执行到达'new'之前发生了同样的事情,所以它不能是具有无限循环或类似东西的构造函数。 它作为一个进程运行,并且不是“没有响应”。

我在 Windows 7 32 位上使用 MinGW。我能做些什么来解决这个问题? 感谢您提供的任何见解;同时,我正在尝试跟进一些可能的想法,希望可以进一步缩小范围。

【问题讨论】:

  • 可疑的dll是否有DllMain?所有二进制文件都是 32 位的吗?除此之外,加载 dll 时执行的一些静态初始化似乎失败了。
  • 你可以尝试静态链接到库,而不是把它变成一个 DLL 吗?
  • 我将该库编译为使用它的项目的一部分,并且它运行。但是,似乎如果我在启动后过早退出程序,它有时会引发异常。由于它现在是我项目本身的一部分,我可以使用调试器和断点遍历它,并跟踪问题。我不知道为什么我没想早点这样做!感谢您的提示,先生们! =) 我敢打赌,错误代码与跨 DLL 边界抛出异常有关。
  • 当尝试分配内存失败时,我得到了这个。

标签: c++ windows mingw error-code


【解决方案1】:

这个库是使用 Qt 制作的?因为根据http://lists.qt-project.org/pipermail/development/2013-March/010157.html 它是Qt 在杀死进程时使用的返回码。

【讨论】:

  • 唉,那是一年前的事了,所以我不记得确切的事件了。由于我使用 Qt,它可能是一个 Qt 库,或者是另一个与 Qt 交互的库 (SFML)。你会认为他们使用了一个带有描述性名称和注释的常量。 =) 再说一次,你会认为我会发布导致我出现问题的 DLL。
  • 您是否有更多关于何时以及为何触发这个幻数的详细信息?我在您发布的链接中看到它与终止进程有关,但是是否有更多细节可能对将来遇到问题的其他人有用?任何表明为什么 Qt 杀死进程,让开发人员知道问题是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多