Ausgabe des Variableninhalts in eclipse cdt?
Ausgabe des Variableninhalts in eclipse cdt?
Hallo,
ich bin gerade dabei mich in die KDE / QT Entwicklung einzuarbeiten. Ich verwende dazu das Eclipse Cdt (Ganymede).
Wenn ich mein Programm (cmake basiert) debugge seh ich in der Variables Ansicht bei Qt Objekten wie z.b QString / QHash nie den Inhalt der Variablen sondern nur Adressen und nen Baum beim Ausklappen der Variable.
Meine Frage ist: Kann das die CDT? Oder brauch ich irgendwelche Zusatzmodule oder besondere Einstellungen im Debugger?
Ich hab im Netz mal ein bisschen gesucht und das hier gefunden:
http://websvn.kde.org/*checkout*/trunk/ ... -devel-gdb
Diese Makros funktionieren soweit beim Kommandozeilen gdb.
Kann ich diese Makros irgendwie in den Eclipse Debugger einbinden? Danke mal für eure Hilfe / Tipps.
Gruß Frank
PS: Benutze eine Linux Umgebung (Ubuntu 8.10)
ich bin gerade dabei mich in die KDE / QT Entwicklung einzuarbeiten. Ich verwende dazu das Eclipse Cdt (Ganymede).
Wenn ich mein Programm (cmake basiert) debugge seh ich in der Variables Ansicht bei Qt Objekten wie z.b QString / QHash nie den Inhalt der Variablen sondern nur Adressen und nen Baum beim Ausklappen der Variable.
Meine Frage ist: Kann das die CDT? Oder brauch ich irgendwelche Zusatzmodule oder besondere Einstellungen im Debugger?
Ich hab im Netz mal ein bisschen gesucht und das hier gefunden:
http://websvn.kde.org/*checkout*/trunk/ ... -devel-gdb
Diese Makros funktionieren soweit beim Kommandozeilen gdb.
Kann ich diese Makros irgendwie in den Eclipse Debugger einbinden? Danke mal für eure Hilfe / Tipps.
Gruß Frank
PS: Benutze eine Linux Umgebung (Ubuntu 8.10)
hi, jetzt sind wir schon zu dritt
Ich arbeite mit Eclipse auf Linux und habe genau das gleiche Problem.
Der Debugger zeigt die ganze Objektstruktur des QString an, aber das, was in der Regel interessiert, nämlich den String selbst, nicht. Wenn man sich durch den Baum hangelt, findet man an diversen Stellen "data". Dort ist z.T. wenigsten das erste Zeichen des Strings zu finden, aber wo ist der Rest?
Vermutlich liegt der Grund für dieses gleiche Verhalten darin, dass letztendlich überall der GNU-Debugger eingesetzt wird, egal ob Linux oder Windows bzw. KDE oder Eclipse, und der kann es halt nicht.
Ich habe dieses Problem schon früher mal hier gepostet, aber keine Antwort erhalten. Hoffentlich erbarmt sich jetzt jemand
Ich arbeite mit Eclipse auf Linux und habe genau das gleiche Problem.
Der Debugger zeigt die ganze Objektstruktur des QString an, aber das, was in der Regel interessiert, nämlich den String selbst, nicht. Wenn man sich durch den Baum hangelt, findet man an diversen Stellen "data". Dort ist z.T. wenigsten das erste Zeichen des Strings zu finden, aber wo ist der Rest?
Vermutlich liegt der Grund für dieses gleiche Verhalten darin, dass letztendlich überall der GNU-Debugger eingesetzt wird, egal ob Linux oder Windows bzw. KDE oder Eclipse, und der kann es halt nicht.
Ich habe dieses Problem schon früher mal hier gepostet, aber keine Antwort erhalten. Hoffentlich erbarmt sich jetzt jemand
Gruß von qtNiko
Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
-
androphinx
- Beiträge: 170
- Registriert: 26. Januar 2009 09:19
- Wohnort: 127.0.0.2
also ich arbeite seit einiger zeit mit qtcreator (www.qtsoftware.com) einer ide von den qt-entwicklern. in dieser ide erscheinen zumindest die normalen variablen, bei QString und anderen Qt-Variablen weiß ich es nicht.
Wenn es nicht funktioniert, müsst ihr ein bisschen die finger strecken und ein paar debugging-funktionen in euer programm zimmern. finde ich eigentlich sowieso besser, weil so könnt ihr ein programm später auch fernwarten...
Mfg androphinx
Wenn es nicht funktioniert, müsst ihr ein bisschen die finger strecken und ein paar debugging-funktionen in euer programm zimmern. finde ich eigentlich sowieso besser, weil so könnt ihr ein programm später auch fernwarten...
Mfg androphinx
Hallo,
qtcreator unterstüzt (noch) nicht cmake basierte Projekte. Also fällt diese IDE mal raus
Debugging Ausgaben in den code bei Fehlersuche einzufügen finde ich als etwas sehr antiquitiert und vor allem auch ineffizient und zeitintensiv (mal nur die zeit zum neubauen immer eingerechnet). Code zur Laufzeit mal evaluieren geht ebensowenig. Wenn du mal in Qt debuggen willst um die Funktionsweise des Frameworks zu verstehen und dir dazu die Variablen angucken willst, viel spass mit dieser Methode.
Wenn du tatsächlich Debug Ausgaben zur Fernwartung verwenden willst:
Solche Ausgaben bremsen die Geschwindigkeit des Programmes durch das ständige loggen. Ich kenne auch wenig Entwickler die Logs ab ner bestimmten Größe (ein paar MB) lesen, bzw aufheben. Meist wird der Loglevel hochgesetzt (warn /error, wenn man z.b. commons logging verwendet) oder einfach die Datei gelöscht.
Für die anderen Leidgetragten im Thread: Es gibt Hoffnungen. Im Feature Plan von Galileo ist ein "Variable Detail formatter" eingeplant (siehe http://wiki.eclipse.org/CDT/planning/6.0#Debug). Die Ungeduldigen können ja mal versuchen den Patch zu installieren der auf der verlinkten Bug Nummer herunterladbar ist.
Gruß Frank
qtcreator unterstüzt (noch) nicht cmake basierte Projekte. Also fällt diese IDE mal raus
Debugging Ausgaben in den code bei Fehlersuche einzufügen finde ich als etwas sehr antiquitiert und vor allem auch ineffizient und zeitintensiv (mal nur die zeit zum neubauen immer eingerechnet). Code zur Laufzeit mal evaluieren geht ebensowenig. Wenn du mal in Qt debuggen willst um die Funktionsweise des Frameworks zu verstehen und dir dazu die Variablen angucken willst, viel spass mit dieser Methode.
Wenn du tatsächlich Debug Ausgaben zur Fernwartung verwenden willst:
Solche Ausgaben bremsen die Geschwindigkeit des Programmes durch das ständige loggen. Ich kenne auch wenig Entwickler die Logs ab ner bestimmten Größe (ein paar MB) lesen, bzw aufheben. Meist wird der Loglevel hochgesetzt (warn /error, wenn man z.b. commons logging verwendet) oder einfach die Datei gelöscht.
Für die anderen Leidgetragten im Thread: Es gibt Hoffnungen. Im Feature Plan von Galileo ist ein "Variable Detail formatter" eingeplant (siehe http://wiki.eclipse.org/CDT/planning/6.0#Debug). Die Ungeduldigen können ja mal versuchen den Patch zu installieren der auf der verlinkten Bug Nummer herunterladbar ist.
Gruß Frank
androphinx hat geschrieben:also ich arbeite seit einiger zeit mit qtcreator (www.qtsoftware.com) einer ide von den qt-entwicklern. in dieser ide erscheinen zumindest die normalen variablen, bei QString und anderen Qt-Variablen weiß ich es nicht.
Wenn es nicht funktioniert, müsst ihr ein bisschen die finger strecken und ein paar debugging-funktionen in euer programm zimmern. finde ich eigentlich sowieso besser, weil so könnt ihr ein programm später auch fernwarten...
Mfg androphinx
Ist das nicht eher ein gdb Problem?
Hallo!
Ist das ganze nicht eher ein gdb-Problem? Der Debugger müßte ja in die Qt-Datentypen hineinschauen, um zu wissen, wo die interessanten Daten liegen. Das ist aber Qt-Implementierungssache, das weiß der Debugger zunächst natürlich nicht. Ich weiß, daß es für Qt 3.irgendwas mal Makros gab, um dem gdb sowas beizubringen, und soweit ich weiß, hat man in QtCreator (der auch den gdb benutzt) die Möglichkeit auch, d.h. es gibt wohl auch aktuelle Makros für die 4.x-Versionen. Aber wo im Netz sie rumliegen...???
Würd' mich auch interessieren!
Schöne Grüße
Shaka
Ist das ganze nicht eher ein gdb-Problem? Der Debugger müßte ja in die Qt-Datentypen hineinschauen, um zu wissen, wo die interessanten Daten liegen. Das ist aber Qt-Implementierungssache, das weiß der Debugger zunächst natürlich nicht. Ich weiß, daß es für Qt 3.irgendwas mal Makros gab, um dem gdb sowas beizubringen, und soweit ich weiß, hat man in QtCreator (der auch den gdb benutzt) die Möglichkeit auch, d.h. es gibt wohl auch aktuelle Makros für die 4.x-Versionen. Aber wo im Netz sie rumliegen...???
Würd' mich auch interessieren!
Schöne Grüße
Shaka
-
thereapman
- Beiträge: 36
- Registriert: 6. Juni 2007 15:39
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Hier gibts das Script für gdb: http://websvn.kde.org/trunk/KDE/kdesdk/ ... b?view=log
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung