Je veux forcer le débogueur Chrome à se rompre sur une ligne via du code , ou bien en utilisant une sorte de balise de commentaire telle que quelque chose comme console.break()
.
Je veux forcer le débogueur Chrome à se rompre sur une ligne via du code , ou bien en utilisant une sorte de balise de commentaire telle que quelque chose comme console.break()
.
Réponses:
Vous pouvez utiliser debugger;
dans votre code. Si la console développeur est ouverte, l'exécution sera interrompue. Cela fonctionne également dans Firebug.
setTimeout(function(){debugger;}, 3000);
debugger;
est également prise en charge dans tous les principaux navigateurs. Pour plus d'informations: w3schools.com/jsref/jsref_debugger.asp
Configurez un écouteur de clic de bouton et appelez le debugger;
Exemple
$("#myBtn").click(function() {
debugger;
});
Démo
Ressources sur le débogage en JavaScript
Vous pouvez également utiliser debug(function)
, pour casser quand function
est appelé.
Comme d'autres l'ont déjà dit, debugger;
c'est la voie à suivre. J'ai écrit un petit script que vous pouvez utiliser à partir de la ligne de commande dans un navigateur pour définir et supprimer le point d'arrêt juste avant l'appel de fonction:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
Dans l'onglet "Scripts", accédez à l'emplacement de votre code. À gauche du numéro de ligne, cliquez sur. Cela définira un point d'arrêt.
Capture d'écran:
Vous pourrez ensuite suivre vos points d'arrêt dans l'onglet de droite (comme indiqué dans la capture d'écran).
debugger
est un mot clé réservé par EcmaScript et donné une sémantique facultative depuis ES5
En conséquence, il peut être utilisé non seulement dans Chrome, mais également vianode debug myscript.js
Firefox et Node.js via .
La norme dit :
Syntaxe
DebuggerStatement : debugger ;
Sémantique
L'évaluation de la production DebuggerStatement peut permettre à une implémentation de provoquer un point d'arrêt lorsqu'elle est exécutée sous un débogueur. Si un débogueur n'est pas présent ou actif, cette instruction n'a aucun effet observable.
La production DebuggerStatement: debugger; est évalué comme suit:
- Si une fonction de débogage définie par l'implémentation est disponible et activée, alors
- Effectuez une action de débogage définie par l'implémentation.
- Soit result une valeur d'achèvement définie par l'implémentation.
- Autre
- Que le résultat soit (normal, vide, vide).
- Résultat de retour.
Aucun changement dans ES6.
C'est possible et il y a de nombreuses raisons pour lesquelles vous pourriez vouloir le faire. Par exemple, le débogage d'une boucle infinie javascript près du début du chargement de la page, qui empêche le chargement correct de l'ensemble d'outils de développement Chrome (ou Firebug).
Voir section 2 de
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
ou ajoutez simplement une ligne contenant le mot débogueur à votre code au point de test requis.
Point d'arrêt: -
le point d'arrêt arrêtera son exécution et vous permettra d'examiner les valeurs JavaScript.
Après avoir examiné les valeurs, vous pouvez reprendre l'exécution du code (généralement avec un bouton de lecture).
Débogueur: -
Le débogueur; arrête l'exécution de JavaScript et appelle la fonction de débogage.
L'instruction de débogage suspend l'exécution, mais elle ne ferme aucun fichier ni n'efface aucune variable.
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
Vous pouvez également définir des debug(functionName)
fonctions de débogage.
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
Il existe de nombreuses façons de déboguer du code JavaScript. Les deux approches suivantes sont largement utilisées pour déboguer JavaScript via du code
Utiliser console.log()
pour imprimer les valeurs dans la console du navigateur. (Cela vous aidera à comprendre les valeurs à certains points de votre code)
Mot clé du débogueur. Ajoutez debugger;
aux emplacements que vous souhaitez déboguer, ouvrez la console développeur du navigateur et accédez à l'onglet sources.
Pour plus d'outils et de façons de déboguer le code JavaScript, sont fournis dans ce lien par W3School .
Je ne recommanderais pas debugger;
si vous voulez simplement tuer et arrêter le code javascript, car il debugger;
va juste geler temporairement votre code javascript et ne pas l'arrêter définitivement.
Si vous voulez tuer et arrêter correctement le code javascript à votre commande, utilisez ce qui suit:
throw new Error("This error message appears because I placed it");
debugger;
ou simplement utilisé des points d'arrêt réguliers dans la barre d'outils du développeur?