7

Mein Javascript-Code (Hunderte von Zeilen) hängt Chrome und wenn ich das Problem debuggen finde ich, dass eine Variable nicht definiert war. Ich bekomme keine Fehler in der Konsole. Das macht mein Debugging zeitaufwendiger, weil es keine Fehler oder Ausnahmen gibt oder irgendetwas, das mir sagt, wo das Problem liegt.Wie bekomme ich Chrome Debugger zu brechen oder Fehler bei der Arbeit an nicht definierten Variablen

Ich möchte keinen Debugging-Code hinzufügen. Gibt es eine Möglichkeit, den Debugger dazu zu bringen, einen Fehler auszulösen, den Debugger zu unterbrechen oder eine Ausnahme zu geben oder etwas Nützliches für den Entwickler anzuzeigen, wenn er während der Laufzeit eine undefinierte Variable trifft? Es muss nicht nur für Chrome sein.

Antwort

10

Sie können in den DevTools-Debugger eindringen, wenn ein JavaScript-Fehler unter Verwendung der Pause on JavaScript Exceptions-Funktion auftritt. Es hat zwei aktive Modi; Bei allen Ausnahmen anhalten und bei nicht abgefangenen Ausnahmen anhalten.

Basierend auf der Beschreibung Ihrer Erfahrung kann die Anwendung, an der Sie gerade arbeiten, Fehler enthalten, die abgefangen, aber nicht erneut ausgelöst oder protokolliert werden. Die Verwendung von "Pause für alle Ausnahmen" (blaues Pausesymbol) hilft in diesem Szenario.

Hinweis: Einige Bibliotheken, wie jQuery, fangen Ausnahmen ab und werfen sie nicht erneut. Wenn Sie über diese Erfahrung verfügen, müssen Sie möglicherweise über diese Ausnahmen hinausgehen oder die Funktion "Bei allen Ausnahmen anhalten" aktivieren, nachdem alle Abhängigkeiten geladen wurden.

2
window.onerror = function() { debugger; } 
Verwandte Themen