QT: Probleme beim Debuggen
-
Ich wollte mir vorhin schnell ein kleines Programm schreiben, das allerdings von einigen für mich neuen Klassen Gebrauch macht und das SLOT-SIGNAL-Konzept ein wenig strapaziert. Da das ganze nicht so läuft, wie es soll, wollte ich den Debugger anwerfen, aber ich schaffe es einfach nicht
.
Wenn ich den Debugger starten will, wird mein Programm erfolgreich kompiliert (ohne jegliche Warnungen etc.), es lässt sich auch im Explorer per Doppelklick starten, aber sobald der Debugger einspringen soll, bricht das ganze ab.
Der Fehler muss hier sehr weit "oben" liegen, evt. ist der Debugger nicht mit meinem Betriebssystem kompatibel (Windows 7 64 Bit), oder ich übergebe argc und argv nicht richtig (hatte da schonmal Abstürze inklusive langer Fehlersuche, weil ich "char ** argv" anstatt "char * argv[]" schrieb) oder sonst irgendwas - ich bin jedenfalls ratlos.
Wenn ich den Debugger starte, sehe ich ein wenig disassemblierten Code und die folgende Fehlermeldung
"Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten.
Name des Signals: SIGSEGV
Bedeutung: Segmentation Fault". Stehen bleibt das Programm dabei in folgender Zeile (wie gesagt: das schein noch VOR Start meines Programms zu passieren):
0x10017907 cmpw $0x5a4d,(%esi)Der gesamte bis dahin sichtbare Code sieht so aus:
0x100178f3 jge 0x100178d1 <guard32!?Exported@@YAXXZ+86193> 0x100178f5 add %dl,(%eax) 0x100178f7 add %al,(%eax) 0x100178f9 jne 0x10017911 <guard32!?Exported@@YAXXZ+86257> 0x100178fb testw $0x100,-0x20(%ebp) 0x10017901 jne 0x10017911 <guard32!?Exported@@YAXXZ+86257> 0x10017903 andl $0x0,-0x4(%ebp) 0x10017907 cmpw $0x5a4d,(%esi)
Ich habe mittlerweile so einige kleine Programme in QT geschrieben und der Debugger hat noch bei keinem funktioniert - allerdings hatte ich bisher das Glück, dass ich ohne auskam. Ich schließe also aus, dass ich so grobe Fehler in meinem Code habe, dass sich der Debugger daran erhängt - es scheint hier eher um etwas grundlegendes zu gehen.
Falls jemand Rat weiß und mir helfen kann, schonmal danke im Voraus.
(Gern gebe ich auch weitere Infos, aber das Problem ist so schwer zu greifen, dass ich momentan einfach nicht weiß, wo ich ansetzen soll.)
-
Ah, das hatte ich gerade gestern.
Ich wollte aus mehreren Klassen ein Projekt bauen aber genau diese Fehlermeldung kam. Nachdem ich dann sämtliche Makefiles aus dem Projektverzeichnis gelöscht hatte und alles neu bauen ließ, hat es funktioniert
Falls es relevant ist, ich habe Qt Creator verwendet.
-
Hallo,
also ich habe genau dasselbe Problem. Bei uns in der Firma habe ich QT (Qt SDK for Windows / neueste Version 2010.02.1) auf zwei PCs mit WinXP Pro installiert; dort läuft der Debugger ohne Probleme. Bei mir zu Hause habe ich dasselbe Paket auf zwei PCs (WinXP Home und Win7) und einem Notebook mit Vista drauf. Dort kommt bei allen drei Rechnern die Fehlermeldung wie von Stiefel2000 beschrieben; und das unabhängig vom zu debuggenden Programm.
Es ist zum verzweifeln. Was kann das sein?
Vielen Dank im Voraus für Rückmeldungen
Jürgen
-
Hallo,
nachdem ich nochmals intensiver im Netz gesucht habe, bin ich fündig geworden:
Besagtes Problem tritt in Verbindung mit der COMODO Firewall (COMODO Internet Security) auf, und zwar durch einen Konflikt mit der Datei guard32.dll im System32-Verzeichnis. Ich habe diese mal testweise umbenannt und siehe da...
Gruß
Jürgen
-
juancama schrieb:
Hallo,
nachdem ich nochmals intensiver im Netz gesucht habe, bin ich fündig geworden:
Besagtes Problem tritt in Verbindung mit der COMODO Firewall (COMODO Internet Security) auf, und zwar durch einen Konflikt mit der Datei guard32.dll im System32-Verzeichnis. Ich habe diese mal testweise umbenannt und siehe da...
Gruß
JürgenAh! Danke für die Klärung, endlich kann ich den Debugger auch unter Window nutzen :).
-
Interessant. Ich hatte die selbe Fehlermeldung und bei mir lag es an einem falschen delete.