Ich suche nach einer Entsprechung in Chrome zur Funktion "Alle Fehler brechen" von Firebug. Auf der Registerkarte "Skripte" hat Chrome eine "Pause bei allen Ausnahmen", dies ist jedoch nicht ganz das Gleiche wie das Unterbrechen aller Fehler.
Wenn ich beispielsweise eine Seite mit dem folgenden Code lade, möchte ich, dass Chrome in der Zeile unterbrochen wird foo.bar = 42
. Stattdessen erhalte ich selbst beim Aktivieren der Option "Bei allen Ausnahmen pausieren" nicht das erwartete Ergebnis.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function doError() {
foo.bar = 42;
}
window.onload = function() {
try {
doError();
} catch (e) {
console.log("Error", e);
}
}
</script>
</head>
<body>
</body>
</html>
Sie können den oben auf dieser Seite eingefügten Code oder diese jsFiddle verwenden .
javascript
google-chrome
debugging
webkit
Avernet
quelle
quelle
console.log(gaga)
) oder auf eine undefinierte Eigenschaft (wie inwindow.foo.bar
).Antworten:
Bearbeiten: Der ursprüngliche Link, mit dem ich geantwortet habe, ist jetzt ungültig. Die neuere URL lautet ab dem 11.11.2016 https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions .
Mir ist klar, dass diese Frage eine Antwort hat, aber sie ist nicht mehr richtig. Verwenden Sie den Link oben ^
(Link ersetzt durch oben bearbeitet) - Sie können ihn jetzt so einstellen, dass alle oder nur nicht behandelte Ausnahmen unterbrochen werden. (Beachten Sie, dass Sie sich auf der Registerkarte Quellen befinden müssen , um die Schaltfläche anzuzeigen.)
Chrome hat jetzt auch einige andere wirklich nützliche Haltepunktfunktionen hinzugefügt, z. B. das Unterbrechen von DOM-Änderungen oder Netzwerkereignissen.
Normalerweise würde ich eine Frage nicht erneut beantworten, aber ich hatte selbst dieselbe Frage und fand diese jetzt falsche Antwort. Ich dachte, ich würde diese Informationen hier für Leute einfügen, die später bei der Suche mitkamen. :) :)
quelle
Ich habe Probleme damit, also poste ich Bilder mit verschiedenen Optionen:
Chrome 75.0.3770.142 [29. Juli 2018]
Sehr sehr ähnliche Benutzeroberfläche seit mindestens Chrome 38.0.2125.111 [11. Dezember 2014]
In der Registerkarte
Sources
:Wenn die Schaltfläche aktiviert ist, können Sie
Pause On Caught Exceptions
mit dem folgenden Kontrollkästchen:Vorherige Versionen
Chrome 32.0.1700.102 [03. Februar 2014]quelle
Dies wird jetzt in Chrome durch die Schaltfläche "Bei allen Ausnahmen anhalten" unterstützt.
So aktivieren Sie es:
Beachten Sie, dass diese Schaltfläche mehrere Status hat. Klicken Sie weiter auf die Schaltfläche, um zwischen zu wechseln
quelle
Fast jeder Fehler löst Ausnahmen aus. Die einzigen Fehler, die ich mir vorstellen kann, die mit der Option "Pause bei Ausnahmen" nicht funktionieren würden, sind Syntaxfehler, die auftreten, bevor der Code ausgeführt wird. Es gibt also keinen Platz zum Anhalten und keiner der Codes wird ausgeführt.
Anscheinend wird Chrome die Ausnahme nicht pausieren, wenn sie sich in einem Try-Catch-Block befindet. Es wird nur bei nicht erfassten Ausnahmen angehalten. Ich kenne keine Möglichkeit, dies zu ändern.
Wenn Sie nur wissen müssen, in welcher Zeile die Ausnahme aufgetreten ist (dann können Sie einen Haltepunkt festlegen, wenn die Ausnahme reproduzierbar ist), verfügt das
Error
dem catch-Block zugewiesene Objekt über einestack
Eigenschaft, die anzeigt, wo die Ausnahme aufgetreten ist.quelle
Leider scheinen die Entwicklertools in Chrome nicht in der Lage zu sein, "alle Fehler zu stoppen", wie dies bei Firebug der Fall ist.
quelle