- 1 Section
- 7 Lessons
- unbegrenzt
Einführung in die Fehlerbehebung
Fehler sind in der Softwareentwicklung unvermeidlich – doch entscheidend ist, wie man sie findet und behebt.
Der Vorgang, bei dem Entwickler gezielt nach der Ursache eines Fehlers suchen, wird Debugging genannt.
1. Bedeutung und Ziel des Debuggings
Debugging bedeutet, das Verhalten eines Programms zu analysieren, um unerwartete oder fehlerhafte Abläufe zu verstehen und systematisch zu korrigieren.
Ziel ist es, die wahre Ursache eines Problems zu erkennen – nicht nur die Symptome zu beseitigen.
| Ziel | Beschreibung |
|---|---|
| Fehlerursache finden | Warum tritt der Fehler auf? |
| Ablauf verstehen | Welche Daten oder Bedingungen führen dazu? |
| Verhalten korrigieren | Wie kann der Code angepasst werden, ohne Nebenwirkungen zu erzeugen? |
2. Beispiel: ein kleiner Logikfehler
Wir betrachten ein einfaches Python-Programm, das den Durchschnitt von drei Zahlen berechnen soll.
# Durchschnitt berechnen
a, b, c = 5, 10, 15
average = a + b + c / 3
print("Durchschnitt:", average)
Das Ergebnis lautet:
Durchschnitt: 20.0
Das ist offensichtlich falsch – der Durchschnitt von 5, 10 und 15 sollte 10 ergeben.
Hier liegt ein Logikfehler vor: Nur c wird durch 3 geteilt, nicht die gesamte Summe.
3. Fehlerarten im Überblick
| Fehlerart | Beschreibung | Beispiel |
|---|---|---|
| Syntaxfehler | Der Code widerspricht den Sprachregeln, das Programm kann nicht starten. | if x = 5 print("Hi") |
| Laufzeitfehler | Der Code startet, bricht aber zur Laufzeit ab. | 10 / 0 |
| Logikfehler | Der Code läuft fehlerfrei, liefert aber falsche Ergebnisse. | a + b + c / 3 |
Unser Durchschnittsbeispiel ist also ein Logikfehler – die Art, die sich oft am schwierigsten finden lässt, weil keine Fehlermeldung erscheint.
4. Erste Debugging-Schritte
Beim Debugging gehst du systematisch vor:
| Schritt | Beschreibung | Anwendung auf unser Beispiel |
|---|---|---|
| 1. Fehler erkennen | Etwas stimmt nicht (falsches Ergebnis). | Ergebnis = 20.0, sollte 10 sein. |
| 2. Hypothese bilden | Vermutung, wo der Fehler liegt. | Wahrscheinlich Rechenpriorität. |
| 3. Ursache bestätigen | Code Zeile für Zeile überprüfen. | Division erfolgt nur bei c. |
| 4. Korrektur testen | Änderung vornehmen und erneut ausführen. | average = (a + b + c) / 3 |
Nach der Korrektur:
average = (a + b + c) / 3
print("Durchschnitt:", average)
Ausgabe:
Durchschnitt: 10.0
Fehler behoben.
