Ein Programm mit dem Debugger testen
Zum Test eines Programm ist es häufig nicht ausreichend, das äußere Verhalten zu studieren. Als Hilfsmittel gibt es hierfür den sogenannten Debugger. (Ein Bug ist ein Fehler, ein Debugger ist somit ein "Entfehlerer".) In diesem Abschnitt erstellen wir zunächst ein Programm zur Temperaturumrechnung von Fahrenheit in Celsius. Danach wollen wir das Programm mit dem Debugger untersuchen.
Das Programm Temperatur erstellen
Gehen Sie wie folgt vor:
- Erstellen Sie ein leeres Projekt mit Namen Temperatur.
- Fügen Sie dem Projekt eine leere Quellcode-Datei mit Namen Temperatur.c hinzu (siehe hello world).
- Geben Sie folgenden Quellcode ein:
#include <stdio.h>
int main()
{
float f, c;
printf("Fahrenheit - Celsius\n");
f = 0;
while(f<=300) {
c = 5/9*(f-32);
printf("%9.0f - %5.1f\n", f, c);
f = f+50;
}
return 0;
}
- Erstellen Sie das ausführbare Programm mit der Taste
.
- Starten Sie das Programm mit der Taste
.
- Es sollte sich folgende Ausgabe ergeben:
Fahrenheit - Celsius
0 - 0.0
50 - 0.0
100 - 0.0
150 - 0.0
200 - 0.0
250 - 0.0
300 - 0.0
Press any key to continue
Bei dem Programm ist offensichtlich etwas nicht in Ordnung. Da wir das Problem von außen nicht erkennen können, soll jetzt der Debugger zum Einsatz kommen.
Symbolleiste für den Debugger
Zunächst brauchen wir die Symbolleiste für den Debugger und wollen diese außerdem anpassen:
- Wählen Sie im Menü Extras die Option Anpassen....
- Wählen Sie den Reiter Symbolleisten.
- Aktivieren Sie im linken Bereich die Checkbox neben dem Eintrag Debug.

- Wählen Sie den Reiter Befehle.
- Wählen Sie links die Kategorie Debug aus.

- Schieben Sie die Taste
mit gedrückter linker Maustaste auf das linke Ende der Debug-Symbolleiste.
- Schieben Sie die Taste
mit gedrückter linker Maustaste auf das rechte Ende der Debug-Symbolleiste.
- (Hinweis: Zum entfernen einer Taste der Symbolleiste schieben Sie diese mit gedrückter linker Maustaste aus den Bereich der Sysmbolleisten heraus.)
- Klicken Sie auf Schließen.
- Jetzt sollte die Symbolleiste für den Debugger sichtbar sein:

Programm mit dem Debugger testen
Gehen Sie wie folgt vor:
- Gehen Sie in Ihrem Quellcode mit den Kursor auf die Zeile, in der die Berechnung stattfindet (c = 5/9*(f-32);).
- Setzen Sie einen Haltepunkt mit der Taste
.
- Starten Sie Ihr Programm mit der Taste
.
Das Programm startet, der Navigationsbereich verschwindet und im unteren Bereich erscheinen oberhalb des Ausgabebereichs zwei neue Bereiche.
- Betätigen Sie mehrfach die Taste
zum Anzeigen und Verbergen des Überwachungsbereichs.
In diesem Bereich wird der Inhalt von aktuellen Variablen angezeigt.
- Betätigen Sie mehrfach die Taste
zum Anzeigen und Verbergen des Bereichs zur Betrachtung von Variablen.
In diesem Bereich kann gezielt der Inhalt von Variablen angezeigt werden.
- Aktivieren Sie den Überwachungs- und Variablenbereich.
- Tragen Sie im Variablenbereich in der Spalte Name untereinander die Variablennamen f und c ein. Es ergibt sich folgender Variablenbereich:

Hinweis: Der Wert der Variable c kann bei Ihnen anders sein.
- Betätigen Sie nun die Taste
um sich schrittweise durch das Programm zu arbeiten.
Das Problem in dem Programm ist, dass bei der Berechnung von links mit 5/9 begonnen wird. Da Divisor und Dividend beide vom Typ int sind, ist auch das Zwischenergebnis vom Typ int und wird richtung null gerundet. Damit nimmt auch der gesamte Ausdruck den Wert null an. Mehr dazu in der Vorlesung, bzw. im Skript, das Sie auf der Seite Vorlesung PR1 herunterladen können.
Ändern Sie die Zeile zu
c = 5*(f-32)/9;
und testen Sie Ihr Programm erneut. Es ergibt sich folgende Ausgabe:
Fahrenheit - Celsius
0 - -17.8
50 - 10.0
100 - 37.8
150 - 65.6
200 - 93.3
250 - 121.1
300 - 148.9
Seite 0
|