C/C++ Debugging mit CDT unter Eclipse Bevor Sie mit dem Debuggen beginnen können, müssen Sie eine compilierbare Applikation erstellen, also eine Applikation, die keine Syntaxfehler mehr enthält. Sie können die Applikation kompilieren, indem Sie den Quelltext mit File->Save speichern und auf den Menüpunkt Project -> Build All klicken, oder Eclipse kompiliert Ihre Applikation nach dem Speichern des Quelltexts automatisch, wenn die Option Project -> BuildAutomatically eingeschaltet ist. Save Build All Binary Build Automatically Breakpoint Markierun gAutomati cally Wurde die Applikation fehlerfrei compiliert, so wird die ausführbare Datei auch im Project Explorer unter Binary dargestellt. Sie können einen Breakpoint setzen oder löschen, indem Sie in den linksbündigen, hellgrau dargestellten Fensterrand des Quelltextfensters doppelklicken. Klicken Sie dabei in der Höhe jener Zeile in das linken Band, auf der das Programm später unterbrochen werden soll. Ein aktiver Breakpoint wird durch einen kleinen hellblauen Punkt angezeigt. Gesetzte Breakpoints lassen sich durch Anklicken mit der rechten Maustaste und Disable Breakspoints und Enable Breakpoints aktivieren bzw. deaktivieren. DI(FH) Roland J. Graf FH Salzburg / ITS Seite 1/5 Sie können auch mehrere Breakpoints setzen und jederzeit, auch während des Programmablaufs ändern bzw. deren Eigenschaften an Ihre Anforderungen anpassen. Vor der ersten Debugging Session müssen Sie Eclipse mitteilen, dass Sie Ihre Applikation als Lokale C/C++ Applikation debuggen wollen. Klicken Sie dafür mit der rechten Maustaste auf die ausführbare Applikation im Process Explorer unter dem Ordner Binary und wählen Sie weiters den Menüpunkt Debug As -> Debug Local C/C++ Application. Auswahl des Applikationstyps Bei der Frage nach dem Debugger wählen Sie den gdb Debugger und bestätigen Sie Ihre Eingabe mit OK. Auswahl des Debuggers DI(FH) Roland J. Graf FH Salzburg / ITS Seite 2/5 Nun wechselt Eclipse in die Debugging Perspektive (bestätigen Sie eine etwaige Anfragen diesbezüglich mit OK) und startet Ihre Applikation über den Debugger. Aktuelle Perspektive Variablen Lokale Variablen Debug View mit Call Stack Cursor Per Default steht Ihre Applikation nun in der ersten ausführbaren Programmzeile Ihrer Applikation und stoppt die Ausführung. Ein Cursor, dargestellt mit einem hellblauen Pfeil, steht in jener Zeile, in der Ihre Applikation gestoppt wurde. Die Quelltextzeile ist zudem hellgrün hervorgehoben. Über dem Quelltext wird im Debug View der Call Stack der laufenden Applikation gezeigt. Im obigen Beispiel sieht man beispielsweise, dass die Applikation gerade in der Funktion main in der Zeile 22 steht. Rechts davon werden in der Variables View die lokalen Variablen der aktuellen Funktion angezeigt. Debugging Toolbar Über den Toolbar im Debug View oder die Funktionstasten kann die weitere Ausführung der Applikation gesteuert werden. Resume (F8) führt die Applikation bis zum nächsten Breakpoint aus. DI(FH) Roland J. Graf FH Salzburg / ITS Seite 3/5 Terminate bricht die Ausführung der Applikation ab. Step Into (F5) führt die Applikation zeilenweise aus, wobei Funktionen die aufgerufen werden schrittweise durchlaufen werden. Stop Over (F6) führt die Applikation zeilenweise aus, aufgerufene Funktionen werden aber nicht schrittweise durchlaufen sondern in einem Schritt durchlaufen. Stoppt Ihre Applikation, so wird der Inhalt einer Variablen in einem Tooltip angezeigt, wenn Sie mit Mauszieger einige Sekunden über einer Variablen stehen. Tooltip zeigt Wert der Variablen Zusätzlich können Sie jederzeit den Wert einer Variable im Variables View ändern. Änderung einer Variable Möchten Sie einen Breakpoint mit einer Bedingung verknüpfen, so können Sie dies durch einen Klick mit der rechten Maustaste auf den blauen Breakpoint-Punkt und der Auswahl des Menüpunkts Breakpoint Properties… einstellen. DI(FH) Roland J. Graf FH Salzburg / ITS Seite 4/5 Obige Einstellung unter Condition würde beispielsweise bewirken, dass der Programmablauf am ausgewählten Breakpoint nur dann unterbrochen wird, wenn die Variable i den Wert 5 hat. Ignore Count gibt an, wie oft der Breakpoint ignoriert wird, bevor die Applikation am ausgewählten Breakpoint unterbrochen wird. Sie können nach dem Debuggen jederzeit wieder in die gewohnte C/C++ Perspektive zurückwechseln, indem Sie die C/C++ Perspektive über das entsprechende Control rechts oben im Eclipsefenster auswählen. Ebenso können Sie jederzeit von der C/C++ in die Debug Perspektive wechseln. Perspektive wechseln Perspektive öffnen DI(FH) Roland J. Graf FH Salzburg / ITS Seite 5/5
© Copyright 2024 ExpyDoc