[Qt] Unbehandelte Win32-Ausnahme in MainWindow.exe[2052]

Online-Skater

Erfahrenes Mitglied
Hallo,
habe aus dem Buch "C++ GUI Programming with Qt4" die erste große Anwendung geschrieben, eine Spreadsheet-Anwendung. Leider kommt beim ausführen der Binary oben genannter Fehler.
Daraufhin wollte ich den Debugger benutzen, der sonst auch immer geht...
Code:
Building to ensure sources are up-to-date
Build succeeded
Selecting target: Debug
Adding source dir: F:\Projects\C++\Qt\MainWindow\
Adding source dir: F:\Projects\C++\Qt\MainWindow\
Adding file: bin\Debug\spreedsheet.exe
Starting debugger: done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Debugger name and version: GNU gdb 5.2.1
No symbol table is loaded.  Use the "file" command.

Die letzte Zeile kommt wenn ich einen Punkt gesetzt habe, ich kann mit der fehlermeldung nichts anfangen.
Hoffe irgendwer weiß was zu tun ist.

mfg :)
 
Die letzte Zeile kommt wenn ich einen Punkt gesetzt habe, ich kann mit der fehlermeldung nichts anfangen.
Hoffe irgendwer weiß was zu tun ist.

Die Fehlermeldung ist auch sehr allgemein.
So eine Fehlermeldung kommt bei logischen Fehlern, bei Bugs.
Ist also nicht im Build-log zu erkennen.


Ausnahme ist hier im Sinne von exception zu verstehen.

( siehe exception handling: http://www.c-plusplus.de/forum/viewtopic-var-t-is-139074.html )


Oft tritt sowas auf, wenn du:

Einen nicht korrekt initialisierten Zeiger benutzt.
Das heißt, du greifst entweder auf Speicher zu, der dir gar nicht zur Verfügung steht, oder du dereferenzierst zum Beispiel einen 0 Zeiger.

Auch kann eine Ausnahme auftreten, wenn du z.B. durch 0 teilst.
Manche Funktionen werfen auch Ausnahmen um Fehler anzuzeigen.
Eigentlich kann eine Ausnahme bei allem möglichen vorkommen..

Daher ist die Aussage (ohne Quelltext) zu allgemein, um dir helfen zu können.

Du solltest am besten deinen gesamten Code nochmal durchgehen, ob du nicht irgendwo etwas übersehen hast...
 
Ja danke für den Hinweis hab ich vergessen zu erwähnen, dass ich eigentlich wissen möchte warum der Debugge nicht richtig läuft :) Weil wenn der das tun würde zeigt er mir die betroffene Zeile wo eben genau das Problem mit der Exception auftritt.
Nach meinen bisherigen Erfahrungen war es zumindestens der Fall, wenn ein Programm ordentlich kompiliert werden kann und dennoch beim ausführen eine Exception kam, ging ich in den Debug Modus bzw. drücke F8 statt F9 und dann sprang er in die Zeile wo es auftritt.
Diesmal läuft der Debugger aber nicht...
Habe es mit verschiedenen Versionen ausprobiert, vorher hatte ich 6.3 jetzt 5.2.1 also vermute ich mal das es nicht an der Version liegt.

Who knows ?

Werde aber nochmal den Code durchgehn, vllt. habe ich etwas falsch abgeschrieben vom Buch ^^
 
Zuletzt bearbeitet:
Habe noch ein bischen rumprobiert und denke es liegt an dem "Custom Makefile" sobald ich diese Option aktiviere, welche ich ja aktivieren muss sobald ich Qt-Applikationen schreibe, dann geht der Debugger nicht mehr.
Die 2te Theorie war das es an den Verzeichnissen läge, dem ist aber nicht so, wie ich ausprobiert habe. Dennoch die Frage, vllt habe ich das nicht richtig verstanden :confused:

Aus Übersichtsgründen habe ich header-files in einen "ink"-Ordner und source-files in einen "src"-Ordner gepackt, damit das Projekt zu kompilieren geht, musste ich die include Pfade anpassen z.b. #include "ink/header.h"
Ein Kumpel meinte das müsse man nicht, das steht ja im Projectfile drin (.pro), welches ich mit qmake -project erzeuge. Trotzdem findet der Compiler die Files nicht. Wie geht man da richtig vor ?

mfg
 
Zurück