Universität Bayreuth Mathematisches Institut Erste Schritte Mail und News KDE LaTeX/TeX Linksammlung Linuxtools Netzwerk Programmieren Windows X Window Anträge Kontakt |
Fehlersuche mit dem Data Display Debugger (DDD)
Untersuchung von VariablenBei der Fehlersuche kann man auch den Datentyp und den Wert von Variablen ausgeben lassen und beobachten, wie sich die Werte im Lauf des Programmes verhalten. Anspringen des Definitionsortes einer VariablenSie können für jede Variable nachschauen, wo diese definiert wurde, indem Sie den Mauszeiger auf die gewählte Variable bewegen und auf das Icon "Lookup" klicken oder im Kontextmenü (öffnet sich durch die rechte Maustaste) den Punkt " Lookup <Variablenname> " anwählen. Zusätzlich wird der Definitionsort auch in der Konsole angezeigt (siehe Bild 1)..
Ausgabe des Datentyps einer VariablenSie können sich den Datentyp von allen Variablen im Kontextmenü (öffnet sich durch rechte Maustaste, siehe Bild1) unter " What is <Variablenname> " in der Konsole anzeigen lassen.
Ausgabe des Inhalts einer Variablen eines StandarddatentypsUnter einem Standarddatentyp werden die einfachen (skalaren) Datentypen von C/C++ verstanden. Um den Wert solcher Variablen zu erfahren, brauchen Sie nur den Mauszeiger zur gewählten Variablen bewegen und einen Augenblick warten. Sofort erscheint ein kleines Hilfefenster, in dem der zugehöriger Wert angezeigt wird. Diese Information wird gleichzeitig in der Statuszeile ausgegeben. Sie können auch den Wert in der Konsole ausgeben lassen oder im Datenfenster verfolgen, in dem sie im Kontextmenü (öffnet sich durch rechte Maustaste) " Print <Variablenname> " bzw." display <Variablenname> " anwählen (siehe Bild 1). Sie können auch die Werte aller lokal definierten Variablen und aller Parameter einer Funktion anzeigen lassen. Es genügt die Anwahl des Menüpunktes " Data | Display Local Variables " bzw. " Data |Display Arguments ". Im Datenfenster werden Sie dann über die aktuellen Werte informiert.
Ausgabe des Inhalts einer ZeigervariablenDie im Zeiger gespeicherte Adresse (also seinen Wert) können Sie ausgeben lassen (siehe Bild5) und beobachten (siehe Bild4), in dem Sie den Mauszeiger zur ausgewählten Zeigervariablen im Quelltext bewegen und im Kontextmenü (öffnet sich durch rechte Maustaste) den Menüpunkt " Print <Zeigervariablenname> " bzw. " Display <Zeigervariablenname> " auswählen (siehe Bild1). Um den referenzierten Wert eines Zeigers im Datenfenster zu verfolgen (siehe Bild4) oder in der Konsole zu sehen (siehe Bild5), wählen Sie im Kontextmenü (öffnet sich durch rechte Maustaste) den Menüpunkt " Print *<Variablenname> " bzw. " Display *<Variablenname> ". Wenn Sie bereits im Datenfenster die im Zeiger gespeicherte Adresse ausgegeben haben, können Sie auch direkt im Kontextmenü (öffnet sich durch rechte Maustaste) den Menüpunkt "Display* ()" auswählen, um den referenzierten Wert des Zeigers zu bekommen (siehe Bild4).
Ausgabe vom Inhalt einer StrukturvariablenDen Wert einer Strukturvariable können Sie sich auch ausgeben lassen bzw. verfolgen, indem Sie im Kontextmenü (öffnet sich durch rechte Maustaste) den Menüpunkt " Print <Variablenname> " bzw. " display <Variablenname> " auswählen (siehe Bild1). Sie können dann den Wert dieser Variable im Datenfenster verfolgen (Bild6) oder in der Konsole (Bild7) ausgeben lassen.
Ausgabe des Inhalts eines Arrays
Konvertierung des Wertes einer VariablenSie können den Wert einer Variablen, die Sie im Datenfenster anzeigen haben lassen, vom DDD immer in eine binäre, hexadezimale, dezimale oder oktale Darstellug konvertieren lassen. Dazu wählen Sie im Kontextmenü (öffnet sich durch rechte Maustaste) vom Datenfenster den Menüpunkt " New Display | Convert to <Dartellungsname> " (siehe Bild13). Bemerkenswert ist, dass zunächst dieses Kontextmenü nicht alle möglichen Darstellungen anbietet. Beispielweise gibt es keine Umwandelung in ein Zeichen (Datentyp char). Sie können fehlende Darstellungsmöglichkeiten selbst einfügen, indem Sie im Kontextmenü (öffnet sich durch rechte Maustaste) den Menüpunkt " New Diplay | Edit Menu " anwählen (siehe Bild13) und einige oder alle folgenden Konvertierungen
|