Je recherche un équivalent dans Chrome à la fonctionnalité "pause sur toutes les erreurs" de Firebug. Dans l'onglet Scripts, Chrome a une "pause sur toutes les exceptions", mais ce n'est pas tout à fait la même chose que de casser toutes les erreurs.
Par exemple, lors du chargement d'une page avec le code suivant, j'aimerais que Chrome se casse sur la ligne foo.bar = 42
. Au lieu de cela, même en activant la "pause sur toutes les exceptions", je n'obtiens pas le résultat attendu.
<!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>
Vous pouvez essayer le code collé ci-dessus sur cette page ou utiliser ce jsFiddle .
javascript
google-chrome
debugging
webkit
avernet
la source
la source
console.log(gaga)
) ou à une propriété non définie (comme danswindow.foo.bar
).Réponses:
Modifier: le lien d'origine auquel j'ai répondu n'est plus valide . L'URL la plus récente serait https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions à partir du 2016-11-11.
Je réalise que cette question a une réponse, mais elle n'est plus exacte. Utilisez le lien ci-dessus ^
(lien remplacé par édité ci-dessus) - vous pouvez maintenant le paramétrer pour casser toutes les exceptions ou seulement celles non gérées. (Notez que vous devez être dans l' onglet Sources pour voir le bouton.)
Chrome a également ajouté d'autres fonctionnalités de point d'arrêt vraiment utiles, telles que la rupture des changements DOM ou des événements réseau.
Normalement, je ne répondrais pas à une question, mais j'avais la même question moi-même, et j'ai trouvé cette réponse maintenant fausse, alors j'ai pensé que je mettrais ces informations ici pour les personnes qui sont venues plus tard dans la recherche. :)
la source
J'ai eu du mal à l'obtenir, alors je poste des photos montrant différentes options:
Chrome 75.0.3770.142 [29 juillet 2018]
Interface utilisateur très très similaire depuis au moins Chrome 38.0.2125.111 [11 décembre 2014]
Dans l'onglet
Sources
:Lorsque le bouton est activé, vous pouvez
Pause On Caught Exceptions
avec la case à cocher ci-dessous:Versions précédentes
Chrome 32.0.1700.102 [03 fév 2014]la source
Ceci est désormais pris en charge dans Chrome par le bouton "Pause de toutes les exceptions".
Pour l'activer:
Notez que ce bouton a plusieurs états. Continuez à cliquer sur le bouton pour basculer entre
la source
À peu près n'importe quelle erreur lèvera une exception. Les seules erreurs auxquelles je peux penser qui ne fonctionneraient pas avec l'option "pause sur les exceptions" sont les erreurs de syntaxe, qui se produisent avant l'exécution du code, il n'y a donc pas de place pour s'arrêter de toute façon et aucun code ne s'exécutera.
Apparemment, Chrome ne s'arrêtera pas sur l'exception s'il se trouve dans un bloc try-catch. Il s'arrête uniquement sur les exceptions non capturées. Je ne connais aucun moyen de le changer.
Si vous avez juste besoin de savoir sur quelle ligne l'exception s'est produite (alors vous pouvez définir un point d'arrêt si l'exception est reproductible), l'
Error
objet donné au bloc catch a unestack
propriété qui indique où l'exception s'est produite.la source
Malheureusement, les outils de développement de Chrome semblent incapables de "s'arrêter à toutes les erreurs", comme le fait Firebug.
la source