Zum Inhalt springen

Aufgabe 22 - Debugging-Rallye

Zu Zen-Modus wechseln

Fünf Stationen, fünf kaputte Programme: Sie debuggen mit Breakpoints, Watch und Call Stack. An drei Stationen ist console.log ausdrücklich verboten (siehe Kapitel Debugging-Strategien).

In dieser Übung üben Sie:

  • Werkzeuge: Breakpoints, Step over/into, Watch, Call Stack.
  • Methode: Hypothese aufstellen -> Experiment -> Schluss ziehen.
  • OOP-Fallen: this-Verlust und Referenz-vs.-Kopie erkennen.
  • Die fünf Stationsdateien (werden im Unterricht ausgeteilt):
    • station1.js: Notenschnitt einer Klasse ist falsch (Logikfehler in Schleife),
    • station2.js: Warenkorb: “Rabatt verändert den Originalpreis” (Referenz statt Kopie),
    • station3.js: Timer-Klasse: this ist im Callback undefined,
    • station4.js: rekursiver Aufruf ohne Ende (Stack sichtbar im Call Stack!),
    • station5.js: Formular: Handler feuert doppelt (Listener zweimal registriert).

Für jede Station gilt das Protokollformat: Symptom -> Hypothese -> Experiment (welcher Breakpoint/Watch?) -> Ursache -> Fix (eine Zeile Beschreibung).

Teil A - Stationen 1-3 (Pflicht, ohne console.log)

Abschnitt betitelt „Teil A - Stationen 1-3 (Pflicht, ohne console.log)“

Debuggen Sie die Stationen ausschließlich mit dem Debugger. Füllen Sie je Station das Protokoll aus. Screenshot des entscheidenden Debugger-Moments (z. B. Watch zeigt den falschen Wert) beilegen.

Werkzeug frei wählbar. Bei Station 4: Sehen Sie sich den Call Stack im Moment des Absturzes bewusst an und beschreiben Sie in 2 Sätzen, was Sie dort sehen.

Beantworten Sie kurz: Bei welcher Station war der Debugger klar überlegen? Wo hätte console.log gereicht? Welche Falle merken Sie sich fürs eigene Programmieren?

Fünf reparierte Dateien, fünf Protokolle, Screenshots aus Teil A und der Rückblick.