Доброго времени суток!
Не могу понять в чем проблема:
Program received signal SIGABRT, Aborted.
0x00007ffff5524bf5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff5524bf5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff5527d98 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff55600d5 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff556a186 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007ffff63d691c in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5 0x00007fffeec4f6b0 in BaseCommunication::~BaseCommunication (this=0x8d14a0, __in_chrg=<optimized out>)
at ../../build/debug/basenetservice/moc/../../../../include/basenetservice/basecommunication.h:19
#6 0x00007fffeec4f938 in DeviceCommunication::~DeviceCommunication (this=0x8d14a0, __in_chrg=<optimized out>)
at ../../build/debug/basenetservice/moc/../../../../include/basenetservice/devicecommunication.h:16
#7 0x00007fffeec4fd60 in NodeCommunication::~NodeCommunication (this=0x8d14a0, __in_chrg=<optimized out>)
at ../../build/debug/basenetservice/moc/../../../../include/basenetservice/nodecommunication.h:17
#8 0x00007fffee0d2c52 in OesCommunication::~OesCommunication (this=0x8d14a0, __in_chrg=<optimized out>) at oescommunication.cpp:12
#9 0x00007fffee0d2c84 in OesCommunication::~OesCommunication (this=0x8d14a0, __in_chrg=<optimized out>) at oescommunication.cpp:14
#10 0x00007ffff63d1622 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007ffff6c89274 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007fffeea1b077 in FmBase::~FmBase (this=0x7d5580, __in_chrg=<optimized out>) at fmbase.cpp:121
#13 0x00007fffeea1f808 in FmHeadMenu::~FmHeadMenu (this=0x7d5580, __in_chrg=<optimized out>) at fmheadmenu.cpp:63
#14 0x00007fffef1ba227 in FmAimControl::~FmAimControl (this=0x7d5580, __in_chrg=<optimized out>) at oes/forms/fmaimcontrol.cpp:102
#15 0x00007fffef1ba2f4 in FmAimControl::~FmAimControl (this=0x7d5580, __in_chrg=<optimized out>) at oes/forms/fmaimcontrol.cpp:115
#16 0x00007ffff63d3908 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00007ffff6c8e73a in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007ffff6c3f32c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007ffff6c437d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ffff63be6ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#21 0x00007ffff63c28a1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#22 0x00007ffff63ed383 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007ffff4bab355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff4bab688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff4bab744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff63ed521 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007ffff6ce550e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ffff63bd2cf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#29 0x00007ffff63bd558 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007ffff63c2bb8 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00000000004051c9 in AbstractProcess::init(int, char**) ()
#32 0x0000000000403096 in main ()
Не понятно почему деструктор ~FmAimControl() вызывается два раза.
Сам код:
if (table_->currentRow() == TAS_COMMANDER)
{
fmAimControl_ = new FmAimControl(FmAimControl::COMMANDER, this);
fmAimControl_->exec();
fmAimControl_->deleteLater();
}
Внутри FmAimControl создается OesCommunication:
oesCommunication_ = new OesCommunication((formType == COMMANDER) ? commanderOesTask : aimerOesTask, this);
Помогите, пожалуйста, решить проблему.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей