Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 147
5.6.2debugger
ОглавлениеDie Anweisung debugger bewirkt normalerweise von sich aus nichts. Läuft aber parallel ein Debugger-Programm, kann eine Implementierung eine beliebige Debugging-Aktion durchführen (muss es aber nicht). In der Praxis verhält sich diese Anweisung wie ein Breakpoint: Die Ausführung des JavaScript-Codes wird angehalten, und Sie können mit einem Debugger Werte von Variablen ausgeben, den Aufrufstapel untersuchen und so weiter. Stellen Sie sich vor, in Ihrer Funktion f() wird eine Ausnahme ausgelöst, weil sie mit einem undefinierten Argument aufgerufen wird. Sie können aber nicht herausfinden, wo der Aufruf der Funktion erfolgt. Um bei der Behebung dieses Problems weiterzukommen, könnten Sie f() in folgender Weise ergänzen:
function f(o) {
if (o === undefined) debugger; // Temporäre Zeile für Debugging-Zwecke.
… // Hier folgt der Rest der Funktion.
}
Wird f() jetzt ohne Argument aufgerufen, wird die Ausführung gestoppt, sodass Sie den Debugger verwenden können, um den Aufrufstapel zu untersuchen und herauszufinden, woher dieser fehlerhafte Aufruf stammt.
Beachten Sie bitte, dass es nicht ausreicht, dass ein Debugger verfügbar ist. Er muss aktuell auch laufen, denn die Anweisung debugger startet den Debugger nicht etwa automatisch. Wenn Sie einen Webbrowser verwenden und die Entwicklerwerkzeuge geöffnet sind, erzeugt diese Anweisung jedoch einen Breakpoint.