qt - debugger
-
ich habe bisher nie einen debugger benutz und weis auch nicht wirklich viel damit anzufangen. deswegen wollte ich gerne mal in erfahrung bringen, welcher denn eine gute wahl für qt-applikationen wäre und evtl. vlt sogar einfach zu bedienen.
als betriebssystem wäre vorzugsweise linux vorzumerken, aber windows wäre auch nicht so schlecht.
-
für qt direkt gibts nichts, das hängt ja nicht von der bibliothek ab, sondern vom compiler etc.
Für windows hat das visual studio einen sehr sehr guten debugger, unter linux gibt es den gdb, der ist ohne frontend gar nich zu bedienen, und auch mit frontend wie ddd, kdbg, codeblocks etc. leider kein vergleich zum vstudio
-
Maxi schrieb:
Für windows hat das visual studio einen sehr sehr guten debugger, unter linux gibt es den gdb, der ist ohne frontend gar nich zu bedienen
Blos, weil du es nicht kannst, heißt das noch lange nicht, dass er unbedienbar ist. Ich würde mir den GDB mal vorurteilsfrei anchauen. Ich hab beim GDB ein paar nützliche Sachen gesehen, die ich bei anderen Debuggern noch nicht gesehen habe.
@dgrat: Ich würde mal den ddd ausprobieren. Die GUI wird sich wahrscheinlich nicht gut in deine Desktopumgebung einfügen, aber ich bin trozdem damit sehr zufrieden.
-
gibts eigentlich eine moeglichkeit, so sachen wie qlists usw anzuzeigen?
ich seh da nur die anzahl der elemente und irgendeinen shared pointer, aber nicht die elemente selber..@frontend
ich verwende kdevelop. allerdings werden da nicht alle sachen direkt unterstuetzt (zB. eine funktionen ausfuehren). die kann man aber in einer gdb kommandozeile ausfuehren..
-
aMan schrieb:
gibts eigentlich eine moeglichkeit, so sachen wie qlists usw anzuzeigen?
ich seh da nur die anzahl der elemente und irgendeinen shared pointer, aber nicht die elemente selber..In irgendeins der Elemente muss ja auf das erste Element der Liste zeigen. Lass dir von dem Debugger einfach diesen Pointerinhalt anzeigen (vielleicht musst du dich noch ein wenig in der Liste vorhangeln). Ich weis nicht, wie das in KDevelop funktioniert, aber der gdb kann das.
-
ja danke, habs gefunden..
is mir dann aber doch zu umstaendlich, ich werd sie wie bisher einfach in der bash ausgeben..
-
dd, gefällt mir bisher sehr gut^^ ich habe den crash anscheinend gefunden...
habe zwar noch nie nen debugger benutzt, aber de dinegr sind anscheinend echt ganz nett!
visual richte ich unter windows erstmal ein. die gui von ddd ist aber echt hässlich, erinnert an x11-wms
-
ProgChild schrieb:
Maxi schrieb:
Für windows hat das visual studio einen sehr sehr guten debugger, unter linux gibt es den gdb, der ist ohne frontend gar nich zu bedienen
Blos, weil du es nicht kannst, heißt das noch lange nicht, dass er unbedienbar ist. Ich würde mir den GDB mal vorurteilsfrei anchauen. Ich hab beim GDB ein paar nützliche Sachen gesehen, die ich bei anderen Debuggern noch nicht gesehen habe.
mit nicht bedienbar meine ich (persönlich) nicht produktiv einsetzbar. Sicherlich geht es mit step, set breakpoint etc. Das ist doch aber schon sehr sehr umständlich so.
Was sind denn so Sachen vom gdb, die du bei anderen debuggern nicht gesehen hast?
Bspw. immer den anfangspointer in einem vector in ein array wandeln um den inhalt des vectors zu sehen ist ja schon ziemlich umständlich...
-
Maxi schrieb:
Was sind denn so Sachen vom gdb, die du bei anderen debuggern nicht gesehen hast?
Der GDB ist schnell gestartet. Wenn ich mal kurz was debuggen will, ist das schon ganz schön praktisch, direkt von der Konsole aus, den Debugger aufzurufen, wenn man eh gerade die Konsole benutzt. Meist hat man mit einem
gdb ./programm (gdb) run ... (gdb) backtrace
schon den Fehler gefunden, den man sucht.
Bei anderen Debuggern (ich kenne nicht Alle) fehlen mir Conditional Breakpoint und dass ich beim Debuggen, Funktionen von meinem Programm aufrufen kann.
-
Das gibts aber alles beim VS Debugger. Und wenn unter Windows ein Programm abstuertzt, wird auch gleich gefragt, ob man es debuggen will. Von dem her is es nur eine Einstellungs- und Gewohnheitssache..
Btw: Beim VS Debugger gibts eine Funktion, dass man waehrend des debuggens den Code veraendern kann. Gibts soetwas (sinnloses) auch beim GDB?
-
aMan schrieb:
Das gibts aber alles beim VS Debugger. Und wenn unter Windows ein Programm abstuertzt, wird auch gleich gefragt, ob man es debuggen will. Von dem her is es nur eine Einstellungs- und Gewohnheitssache..
Btw: Beim VS Debugger gibts eine Funktion, dass man waehrend des debuggens den Code veraendern kann. Gibts soetwas (sinnloses) auch beim GDB?
Falls dich das interessiert, hier ist die Dokumentation zum GDB: http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html
Ich hab das noch nicht gebraucht und noch nicht verwendet. Könnte sein, dass es das gibt.
Aber du bringst mich noch auf einen Punkt, den ich noch garnicht genannt hatte. Die meisten Debugger laufen eh nur auf Windows, sind von daher für mich eh unbrauchbar.