Exkurs - Strategien zur Fehlersuche
Fehler im Ablaufmodell
Die Fehlersuche bei lauffähigen Programmen ist schwierig, weil man zunächst einmal nicht sieht, was das Programm im Hintergrund alles macht. Zur Fehlersuche benötigt man daher geeignete Strategien und Werkzeuge.
Strategie - Ausgaben integrieren
Oft zeigen sich Fehler im Ablaufmodell erst bei der Implementierung. Man hat ein Programm passend zum Ablaufmodell erstellt - nur, es leistet nicht das, was es soll. Was tun?
In solchen Fällen hat es sich bewährt, in das Programm zusätzliche Ausgabeanweisungen einzubauen, so dass man die Werte der Variablen während der Verarbeitungsschritte mitverfolgen kann.
# Eingabe
anzahlTakte = int(input('Anzahl der Takte: '))
# Verarbeitung
zustand = 'rot'
print(zustand)
zaehlerTakte = 0
while zaehlerTakte < anzahlTakte:
if zustand == 'rot':
zustand = 'rot-gelb'
print(zustand)
if zustand == 'rot-gelb':
zustand = 'gruen'
print(zustand)
if zustand == 'gruen':
zustand = 'gelb'
print(zustand)
if zustand == 'gelb':
zustand = 'rot'
print(zustand)
zaehlerTakte = zaehlerTakte + 1
# Ausgabe
if zustand == 'rot':
print('an-aus-aus')
if zustand == 'rot-gelb':
print('an-an-aus')
if zustand == 'gruen':
print('aus-aus-an')
if zustand == 'gelb':
print('aus-an-aus')
Strategie - Debugger nutzen
Ein Debugger ist ein Werkzeug zur Fehlersuche. Debugger bieten u.a. Möglichkeiten zur Steuerung des Ablaufs. Man kann z.B. gezielt Haltepunkte setzen oder auch das gesamte Programm schrittweise ablaufen lassen und dabei Speicherinhalte inspizieren.