【问题标题】:Program exit with exit state 0 right after it's started程序启动后立即以退出状态 0 退出
【发布时间】:2013-01-10 07:40:22
【问题描述】:

我遇到了这个奇怪的问题:

我使用 Qt(core/gui/sql/webkit) 编写了一个程序,它运行良好。

但是几天前它突然坏了。可执行文件在启动后会立即退出,DEBUG/RELEASE 版本都有这个奇怪的问题。

这是我试图找出原因:

  • 我在文件main.cpp中放了一个断点,即QApplication a(argc, argv)这一行。但调试器似乎连那个点都达不到。

  • 我在另一台 PC 上尝试我的项目,但问题仍然存在。

感谢任何建议。

加法:

环境:Win7/VS2010/Qt-4.8.4

main.cpp:

#include "adeditor.h"
#include <QtGui/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    ADEditor w;
    w.show();
    return a.exec();
}

adeditor 继承自类 QMainWindow

已修复 但我不知道为什么

解决办法如下:

我创建了一个新建项目并复制原始项目中每个文件的所有内容,然后它就可以工作了。

强烈想知道它是如何发生的,所以下次我遇到这种情况时,我想知道如何正确处理我。

【问题讨论】:

  • 有时在编译/链接过程中出现问题时会发生这种情况,您是否尝试过完全重建?
  • 是的,我做到了,我试图清理项目并重新构建它,但没有工作。
  • 嗯,你能显示你的 main.cpp 吗?
  • 另一种可能发生这种情况的方法是,如果您有一个对象,其构造函数在main 之前运行,它会退出您的应用程序。应该可以在 real 入口点设置断点(我不确定它在您的系统上的什么位置),然后从那里开始调试。
  • 自从删除 main 后,您是否从头开始执行过完全干净的构建?

标签: c++ visual-studio-2010 qt


【解决方案1】:

发布我的评论作为答案,以便将来的访问者能看到一点:

也有可能你有另一个 main 函数挂在某个地方被调用/链接到。 – OmnipotentEntity 34 分钟前

我之前检查过情况,确实有另一个main,但在我修复了这个之后,什么都没有改变。 – 赫尔辛基 29 分钟前

自从删除 main 后,您是否从头开始执行过完全干净的构建? – OmnipotentEntity 23 分钟前

@OmnipotentEntity:是的!这正是问题所在,现在我知道了,谢谢 – 赫尔辛基 7 分钟前

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多