QCoreApplication::Notify内部分段错误 你好,我正在开发C++中的共享库,我用QT接口测试它。看起来一切正常,但突然应用程序崩溃,并给我以下核心转储:
程序以信号11终止,分段故障。0 0x00401b26 在QCoreApplication::notifyInternal(QObject*,QEvent*)()中,从 /usr/lib/libQtCore.so.4 (gdb)英国电信 QCoreApplication::notifyInternal(QObject*,QEvent*)中的0 0x00401b26 ()来自/usr/lib/libQtCore.so.4 1 0x0043093a英寸??()来自/usr/lib/libQtCore.so.4 来自/lib/libglib-2.0.so.0的g_main_上下文中的2 0x009d7855 3 0x009db668英寸??()来自/lib/libglib-2.0.so.0 4 0x009db848在g_main_context_迭代()中,从 /lib/libglib-2.0.so.0 5 0x00430565英寸 QEventDispatcherGlib::processEvents(QFlags) ()来自/usr/lib/libQtCore.so.4 6 0x05cedbe5英寸??()来自/usr/lib/libQtGui.so.4 7 0x00400609英寸 QEventLoop::processEvents(QFlags)() 来自/usr/lib/libQtCore.so.4 8 0x00400a8a英寸 QEventLoop::exec(QFlags)()来自 /usr/lib/libQtCore.so.4 来自的QCoreApplication::exec()()中的9 0x0040500f /usr/lib/libQtCore.so.4 来自/usr/lib/libQtGui.so.4的QApplication::exec()()中的10 0x05c2ae07 主管道中的11 0x0804cd72() 我运行的是安装在SD卡中的Ubuntu10.10,我使用的是Qt4.7.0。在Windows中,应用程序正常工作,在Linux中也正常工作,直到应用程序在随机时间崩溃。我不知道ubuntu上是否有QT bug或者类似的东西,因为我在互联网上读到过类似核心转储的应用程序QCoreApplication::Notify内部分段错误 你好,我正在开发C++中的共享库,我用QT接口测试它。看起来一切正常,但突然应用程序崩溃,并给我以下核心转储:,qt,segmentation-fault,notify,Qt,Segmentation Fault,Notify,程序以信号11终止,分段故障。0 0x00401b26 在QCoreApplication::notifyInternal(QObject*,QEvent*)()中,从 /usr/lib/libQtCore.so.4 (gdb)英国电信 QCoreApplication::notifyInternal(QObject*,QEvent*)中的0 0x00401b26 ()来自/usr/lib/libQtCore.so.4 1 0x0043093a英寸??()来自/usr/lib/libQtCore
谢谢 这可能是因为一个事件被发布到一个对象,该对象在返回到事件循环之前被删除。您是使用
delete object
还是使用object->deleteLater()
?您好,andref,我只是将对象删除到类的析构函数中。我想,也许我的一个线程的堆栈增长了很多,这导致了崩溃,但我不知道。我想,你可以检查GDB中的其他堆栈。这次崩溃没有特别的触发因素?堆栈似乎正常,没有,崩溃还有很多事情要检查:QoObject是否存在于多个线程中?崩溃是发生在Ubuntu还是任何Linux发行版上?这可能是因为一个事件被发布到一个对象,该对象在返回到事件循环之前被删除。您是使用delete object
还是使用object->deleteLater()
?您好,andref,我只是将对象删除到类的析构函数中。我想,也许我的一个线程的堆栈增长了很多,这导致了崩溃,但我不知道。我想,你可以检查GDB中的其他堆栈。这次崩溃没有特别的触发因素?堆栈似乎正常,没有,崩溃还有很多事情要检查:QoObject是否存在于多个线程中?崩溃是发生在Ubuntu还是任何Linux发行版上?