Wie debuggt man ein "unexpectedly finished"?

Verschiedenes zu Qt
Antworten
taraquedo
Beiträge: 36
Registriert: 1. März 2007 13:07

Wie debuggt man ein "unexpectedly finished"?

Beitrag 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)
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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)
Antworten