next up previous contents
Nächste Seite: 4.7 Dateiverwaltung auf Betriebssystemebene Aufwärts: 4 Bedienung des Hamster-Simulators Vorherige Seite: 4.5 Ausführen von Hamster-Programmen   Inhalt

Unterabschnitte


4.6 Debuggen von Hamster-Programmen

Debugger sind Hilfsmittel zum Testen von Programmen. Sie erlauben es, während der Programmausführung den Zustand des Programms zu beobachten und gegebenenfalls sogar interaktiv zu ändern. Damit sind Debugger sehr hilfreich, wenn es um das Entdecken von Laufzeitfehlern und logischen Programmfehlern geht.

Der Debugger des Hamster-Simulator ermöglicht während der Ausführung eines Hamster-Programms das Beobachten des Programmzustands. Sie können sich während der Ausführung eines Hamster-Programms anzeigen lassen, welche Anweisung des Sourcecodes gerade ausgeführt wird und welche Werte die Variablen aktuell speichern. Die interaktive Änderung von Variablenwerten wird aktuell nicht unterstützt.

Der Debugger ist im Hamster-Simulator dem Editor-Fenster zugeordnet. Seine Funktionen sind eng mit den Funktionen zur Programmausführung verknüpft. Sie finden die Funktionen im Menü ,,Debugger``. Es bietet sich jedoch an, die entsprechenden Graphik-Buttons der Toolbar zu verwenden. Neben dem ,,Ausführen``-, dem ,,Pause``- und dem ,,Stopp``-Button gehören die drei rechten Buttons ,,Debugger aktivieren``, ,,Schritt hinein`` und ,,Schritt über`` zu den Debugger-Funktionen (siehe auch Abbildung 19).

Abbildung 19: Toolbar des Editor-Fensters
\begin{figure}\centerline{\epsffile{abbildungen/editorfenster-toolbar-debuggen.ps}}\end{figure}

4.6.1 Aktivieren bzw. deaktivieren des Debuggers

Sie können den Debugger durch Anklicken des ,,Debugger aktivieren``-Buttons in der Toolbar (dritter Toolbar-Button von rechts) aktivieren bzw. durch erneutes Anklicken wieder deaktivieren. Der Debugger ist aktiviert, wenn der Hintergrund des Buttons dunkler erscheint.

Das Aktivieren bzw. Deaktivieren des Debuggers ist vor, aber auch noch während der Ausführung eines Programms möglich.

4.6.2 Beobachten der Programmausführung

Wenn der Debugger aktiviert ist und Sie ein Programm mit dem ,,Ausführen``-Button starten, öffnen sich im Editor-Fenster oberhalb des Eingabebereiches zwei neue Bereiche. Der linke dieser beiden Bereiche heißt Funktionen-Bereich, der rechte Variablen-Bereich (siehe auch Abbildung 20).

Abbildung 20: Debugging-Fenster
\begin{figure}\centerline{\epsffile{abbildungen/debugger.ps}}\end{figure}

Im Funktionen-Bereich werden Informationen zu den aktiven Funktionen bzw. Methoden angezeigt, und zwar jeweils von links nach rechts der Programm- bzw. Klassenname, der Funktions- bzw. Methodenname und die aktuelle Zeile. Ganz oben erscheint die aktuell aktive Funktion, darunter gegebenenfalls die Funktion, die diese Funktion aufgerufen hat, usw. Ganz unten steht also immer die main-Funktion.

Im Variablen-Bereich werden die aktiven Variablen und ihre aktuellen Werte angezeigt. Die Darstellung erfolgt dabei analog zu einem Dateibaum, d.h. bei komplexen Variablen, wie Objekten oder Arrays, können Sie durch Anklicken des Symbols vor dem Variablennamen die Attribute bzw. Komponenten einsehen.

Im Eingabebereich selbst wird jeweils der Sourcecode eingeblendet, der gerade ausgeführt wird. Die Zeile mit der gerade aktiven Anweisung wird durch einen blauen Balken hinterlegt. Bei (objektorientierten) Programmen, die aus mehreren Dateien bestehen, werden gegebenfalls Dateien automatisch geöffnet.

Auch während der Debugger aktiviert ist, können Sie die Programmausführung durch Anklicken des ,,Pause``-Buttons anhalten und durch anschließendes Anklicken des ,,Ausführen``-Buttons wieder fortfahren lassen. Auch die Geschwindigkeit der Programmausführung lässt sich mit dem Schieberegler anpassen. Bei Anklicken des ,,Stopp``-Buttons wird das Programm abgebrochen und der Funktionen- und Variablen-Bereich verschwinden.

4.6.3 Schrittweise Programmausführung

Mit den beiden Buttons ,,Schritt hinein`` (zweiter Toolbar-Button von rechts) und ,,Schritt über`` (erster Toolbar-Button von rechts) ist es möglich, ein Programm schrittweise, d.h. Anweisung für Anweisung auszuführen. Immer, wenn Sie einen der beiden Buttons anklicken, wird die nächste Anweisung - und nur die! - ausgeführt.

Die beiden Buttons unterscheiden sich genau dann, wenn die nächste Anweisung ein Prozedur-, Funktions- oder Methodenaufruf ist. Das Anklicken des ,,Schritt hinein``-Buttons bewirkt in diesem Fall, dass in den entsprechenden Rumpf der Prozedur, Funktion oder Methode verzweigt wird, so dass man die dortigen Anweisungen ebenfalls Schritt für Schritt weiter ausführen kann. Beim Anklicken des ,,Schritt über``-Buttons wird die komplette Prozedur, Funktion oder Methode in einem Schritt ausgeführt.

Beachten Sie bitte, dass man die Ausführung eines Programms auch mit dem ,,Schritt hinein``-Button starten kann. Ist der Debugger aktiviert, führt ein Anklicken des ,,Schritt hinein``-Buttons dazu, dass in die main-Funktion gesprungen wird. Von hieraus können Sie dann ein komplettes Programm schrittweise ausführen.

Sie können die ,,Schritt hinein``- und ,,Schritt über``-Buttons auch nutzen, wenn der Debugger aktiv ist und die Programmausführung durch Anklicken des ,,Pause``-Buttons angehalten wurde. Wenn Sie also die Programmausführung erst ab einer bestimmten Stelle beobachten möchten, können Sie das Programm zunächst einfach starten, dann anhalten, den Debugger aktivieren und dann schrittweise weiter ausführen.

Wenn Sie irgendwann ein Programm nicht weiter schrittweise ausführen möchten, können Sie durch Anklicken des Ausführen-Buttons die automatische Programmausführung wieder aktivieren.


next up previous contents
Nächste Seite: 4.7 Dateiverwaltung auf Betriebssystemebene Aufwärts: 4 Bedienung des Hamster-Simulators Vorherige Seite: 4.5 Ausführen von Hamster-Programmen   Inhalt
Ditrich Boles 2007-04-27