【发布时间】:2016-10-05 14:35:12
【问题描述】:
我有带有 Application 类的 Qt 应用程序:
class Application : public QApplication {
public:
Application(int argc, char** argv);
~Application();
};
在我添加之前一切正常
private:
const QString NAME = "QtImageViewer";
当我尝试运行该应用程序时,它崩溃了 10 次中的 9 次
主要看起来像
int main(int argc, char** argv)
{
Application app(argc, argv);
app.setApplicationName("QtImageViewer");
MainWindow mainWindow;
mainWindow.show();
return (app.exec());
}
我想知道怎么回事,因为我不知道。
【问题讨论】:
-
必须是别的东西。您添加的行应该可以正常工作。
-
@Jean-FrançoisFabre 是的,这就是我告诉自己的,没有那条线,一切正常,即使我运行调试,断点(sigsegv)在 app.exec()这是在我的程序逻辑之后
-
如果你的应用程序的代码不是太大,也许可以发布它。
-
我有根据的猜测:在您未显示的代码中的某处,有一个堆损坏错误。它曾经被忽视,但现在您已经有效地向
~Application添加了一个堆释放(NAME正在被销毁),这恰好命中了堆的损坏区域。
标签: c++ qt segmentation-fault