Seite 1 von 1

Debugger?

Verfasst: 21. November 2006 15:23
von Triple{X}
Moin an alle Forenbenutzer :)
Ich habe gerade ein Programm fertiggestellt, dass ich dmenächst mal in meiner Schule zeigen wollte, das Problem ist nur, dass das ganze Teil extrem verbuggt ist und dauernd Buffer Overflows erzeugt... Zumindest sagt mir Linux in der Konsole etwas von Segmentation Fault. Ich hätte jetzt gerne mal einen Tipp, was für gute Qt-Debugger es gibt. Ich habe mal gdb, den Standartdebugger von Linux/KDE ausprobiert, aber bei jedem backtrace gibt der mir in etwa 5000 Stackframes aus, außerdem legt er das ganze Programm lahm. Ich hätte gerne einen graphischen Debugger, wo man irgendwie die Speicherverwaltung nachvollziehen kann...

Verfasst: 21. November 2006 17:49
von upsala
Welchen Editor benutzt du? KDevelop hat eine relative gute Debugger-einbindung...

Verfasst: 22. November 2006 20:03
von Triple{X}
kate

Verfasst: 22. November 2006 21:02
von upsala
Tja, du könntest KDbg verwenden oder die direkte Einbindung von KDevelop...

Verfasst: 23. November 2006 07:30
von MichaelS
oder die direkte Einbindung von KDevelop...
Funktioniert das bei Dir? Ich habe das Problem (kdevelop 3.3.3 / QT 4.2) , dass der Debugger an Haltepunkten nicht stoppt. Das scheint aber kein Problem von kdevelop zu sein, denn der gdb verhält sich genauso. Den Einträgen in diversen Foren nach, bin ich wohl auch nicht der Einzige, der dieses Problem hat.

Gruß Michael

Verfasst: 23. November 2006 18:27
von upsala
Ich hatte vor kurzem das selbe Problem und im IRC wurde mir dann mitgeteilt, daß man den gcc mit dem Schalter -g übersetzen lassen muß. (Oder anders gesagt, Debug-Modus...)

Verfasst: 23. November 2006 19:31
von Triple{X}
Ich hatte vor kurzem das selbe Problem und im IRC wurde mir dann mitgeteilt, daß man den gcc mit dem Schalter -g übersetzen lassen muß.
Naja ohne Debuggingsymbole im Code geht das ja auch nicht...

Verfasst: 24. November 2006 08:11
von MichaelS
daß man den gcc mit dem Schalter -g übersetzen lassen muß. (Oder anders gesagt, Debug-Modus...)
Das weiß ich. Die Übersetzung erfolgt mit gesetzem -g Schalter. Der gdb meldet beim Setzen des Breakpoints "no source file ...". Der Pfad auf das cpp-File ist aber korrekt. Wenn ich das Programm einmal im gdb ausführen lasse und während der Ausführung unterbreche, dann werden die Breakpoints ohne dieser Meldung gesetzt und bei erneuter Programmausführung auch berücksichtigt. :?:

Gruß Michael