Seite 1 von 1

Wie debuggt man ein "unexpectedly finished"?

Verfasst: 23. April 2009 12:09
von taraquedo
Hallo!

Ich habe folgendes Problem: Anwendung starten, Anwendung direkt wieder beenden. "Segmentation fault". Habe versucht den Fehler einzukreisen: Ohne Erfolg. Die Destruktoren lassen sich alle debuggen (immer schrittweise mit F10/F11) ohne Fehlermeldung. Dann nach der letzten }-Klammer in main kommt "The program has unexpectedly finished.". Also quasi nachdem der Code durch ist. Ich bin auch zu blöd valgrind zu interpretieren (s.u.).

Gibt es irgendwelche Tricks und Kniffe dem Fehler auf die Spur zu kommen? Die Speicherverletzung wird ja irgendwie in meiner endlosen Reihe von Destruktoren zu finden sein... nur wo?

Code: Alles auswählen

==7466== Invalid read of size 4
==7466==    at 0x8068F91: QGlobalStaticDeleter<ALTDebugging>::~QGlobalStaticDeleter() (qglobal.h:1625)
==7466==    by 0x4EF8BB8: exit (in /lib/tls/i686/cmov/libc-2.9.so)
==7466==    by 0x4EE077C: (below main) (in /lib/tls/i686/cmov/libc-2.9.so)
==7466==  Address 0x5443388 is 0 bytes inside a block of size 36 free'd
==7466==    at 0x402599A: operator delete(void*) (vg_replace_malloc.c:342)
==7466==    by 0x806A9F5: ALTDebugging::~ALTDebugging() (alt.h:7)
==7466==    by 0x4CA4E3E: QObjectPrivate::deleteChildren() (in /usr/lib/libQtCore.so.4.5.0)
==7466==    by 0x41D16FA: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.5.0)
==7466==    by 0x45CD920: QMainWindow::~QMainWindow() (in /usr/lib/libQtGui.so.4.5.0)
==7466==    by 0x80538E3: MainWindow::~MainWindow() (main_form.cpp:73)
==7466==    by 0x8051B78: main (main.cpp:17)

Verfasst: 23. April 2009 13:19
von AuE
code?

kannst das ganze als demoprogramm einschränken und uploaden?

Was deletest du denn?
Und woher kommt
==7466== at 0x402599A: operator delete(void*) (vg_replace_malloc.c:342)