Lorsque vous parcourez le code JavaScript dans le débogueur Google Chrome, comment puis-je mettre fin à l'exécution du script si je ne souhaite pas continuer? La seule façon que j'ai trouvée est de fermer la fenêtre du navigateur.
Appuyer sur "Recharger cette page" exécute le reste du code et envoie même des formulaires comme si vous appuyez sur F8 "Continuer".
MISE À JOUR :
Lorsque vous appuyez sur F5 (Actualiser) alors qu'un script est en pause:
- Google Chrome (v22) exécute le script. Si le script soumet une demande HTTP, la réponse HTTP pour cette demande s'affiche. La page d'origine n'est pas actualisée.
- IE 9 se bloque simplement. Cependant, IE a une option "Arrêter le débogage" qui, une fois enfoncée (à condition que vous n'ayez pas appuyé sur F5 plus tôt), continue d'exécuter le script en dehors du débogueur.
- Firebug se comporte de manière identique à Chrome.
La fermeture puis la réouverture de la fenêtre du navigateur n'est pas toujours la solution la plus simple, car elle tuera l'état de la session du navigateur et cela peut être important. Tous vos points d'arrêt sont également perdus.
MISE À JOUR (janvier 2014) :
Actualiser pendant le débogage:
- Chrome v31: permet aux scripts de s'exécuter et s'arrête sur d'autres points d'arrêt (mais ne soumet pas de demandes ajax), puis s'actualise.
- IE 11: l'actualisation ne fait rien, mais vous pouvez appuyer sur F5 pour continuer.
- Firefox v26: permet aux scripts de s'exécuter mais ne s'arrête pas sur d'autres points d'arrêt, soumet des requêtes ajax, puis actualise.
Genre de progrès!
Accédez à la même page pendant le débogage:
- Chrome v31: identique à Actualiser.
- IE 11: les scripts sont terminés, une nouvelle session de navigateur est lancée (identique à la fermeture et à la réouverture).
- Firefox v26: rien ne se passe.
Juacala a également suggéré une solution de contournement efficace. Par exemple, si vous utilisez jQuery, l'exécution de delete $ de la console arrêtera l'exécution une fois qu'une méthode jQuery sera rencontrée. Je l'ai testé dans tous les navigateurs ci-dessus et je peux confirmer qu'il fonctionne.
MISE À JOUR (mars 2015) :
Enfin, après plus de 2 ans et près de 10K vues, la bonne réponse a été donnée par Alexander K. Google Chrome a son propre gestionnaire de tâches qui peut tuer un processus de tabulation sans fermer l'onglet lui - même, en gardant tous les points d' arrêt et d' autres choses intactes.
Je suis même allé jusqu'à BrowserStack.com pour le tester dans Chrome v22 et j'ai constaté que cela fonctionnait de cette façon même à cette époque.
La solution de contournement de Juacala est toujours utile lors du débogage dans IE ou Firefox.
MISE À JOUR (janvier 2019) :
Chrome Dev Tools a enfin ajouté un moyen approprié d'arrêter l'exécution du script, ce qui est bien (bien qu'un peu caché). Reportez-vous à la réponse de James Gentes pour plus de détails.
debugger;
dans la console des outils de développement et il mettra immédiatement les choses dans le débogueur et arrêtera le script.