Comment définir des points d'arrêt dans le Javascript en ligne dans Google Chrome?
Quand je ouvrir les Outils de développement de Google Chrome, je vois toutes sortes de fonctionnalités comme les Profils, les Échéanciers et les Vérifications, mais des fonctionnalités de base comme la possibilité de définir des points d'arrêt dans les fichiers js et dans le code html et javascript est manquant! J'ai essayé d'utiliser la console javascript, qui lui-même est buggy - par exemple, une fois qu'il rencontre une erreur JS, je ne peux pas en sortir à moins que j'actualise la page entière. Quelqu'un peut-il aider?
- J'ai donné avec google Chrome. Essayé avec Firefox et a mon point d'arrêt frappé dans un délai de quelques secondes. Il peut être possible avec Chrome, mais ce n'est certainement pas évident de savoir comment!
Vous devez vous connecter pour publier un commentaire.
Utiliser l'onglet sources, vous pouvez définir des points d'arrêt dans le code JavaScript n'. Dans l'arborescence de répertoire en dessous (avec les flèches haut et bas en elle), vous pouvez sélectionner le fichier que vous souhaitez déboguer. Vous pouvez obtenir une erreur en appuyant sur la reprendre sur le côté droit de l'onglet.
Tu parles de code dans
<script>
balises, ou dans la balise HTML attributs, comme ça?De toute façon, le
debugger
mot clé de ce genre de travail:N. B. Chrome de ne pas mettre en pause à
debugger
s si les outils de dev ne sont pas ouverts.Vous pouvez également définir la propriété des points d'arrêt dans les fichiers JS et
<script>
tags:<script>
balise dans le code HTML, vous devez le faire par le biais de laScripts
onglet. Je n'ai aucune idée de pourquoi votre version de google Chrome ne dispose pas de cet onglet.Scripts
onglet. Vous voulez vous assurer que votre version de google Chrome est à jour ou réinstaller Chrome.Sources
au lieu deScripts
maintenant.debugger;
commandeVous pouvez également donner un nom à votre script:
<script>
... (your code here)
//# sourceURL=somename.js
</script>
bien sûr remplacer "abc" par certains nom 😉 et puis vous le verrez dans le chrome débogueur au "Sources > en haut > (pas de domaine) > somename.js" comme un script et vous serez en mesure de le corriger comme d'autres scripts
Actualiser la page contenant le script alors que les outils de développement sont ouverts sur l'onglet scripts. Cela va ajouter une (programme) à l'entrée dans la liste des fichiers qui montre le code html de la page, y compris le script. De là, vous pouvez ajouter des points d'arrêt.
Un autre intuitif truc simple pour déboguer surtout script à l'intérieur du html renvoyé par ajax, est temporairement mis de la console.log("test") à l'intérieur du script.
Une fois que vous avez déclenché l'événement, ouvrez l'onglet de la console à l'intérieur des outils de développement.
vous verrez le fichier source du lien indiqué en haut à droite de la "tester" debug instruction print. cliquez simplement sur la source (quelque chose comme VM4xxx) et vous pouvez maintenant définir le point de rupture.
P. S.: en outre, vous pouvez envisager de mettre "débogueur" déclaration si vous utilisez google chrome, à l'instar de ce qui est suggéré par @Matt Balle
Ma situation et ce que j'ai fait pour résoudre le problème:
J'ai un fichier javascript inclus dans une page HTML comme suit:
Nom de Page: test.html
Maintenant dans le Débogueur Javascript dans le navigateur Chrome, je clique sur l'Onglet Scripts, et en déroulant la liste comme indiqué ci-dessus. Je peux voir clairement scripts/common.js cependant j'ai pu PAS voir la page html en cours test.html dans le menu déroulant, donc je ne pouvais pas débogage du javascript intégré:
Qui a de quoi laisser perplexe. Cependant, quand j'ai enlevé le obsolètes type="text/javascript" à partir du script intégré:
..et actualisé /rechargé la page, voila, il est apparu dans la liste déroulante, et tout allait bien à nouveau.
J'espère que cela est utile à tous ceux qui ont des problèmes de débogage javascript intégré dans une page html.
type
est un attribut nécessaire. En HTML5, il est facultatif.<div>
m'a empêché de voir le code dans le débogueurAjoutant
debugger;
sur le dessus à mon script a fonctionné pour moi.J'ai eu le même problème, comment déboguer un script JavaScript qui est à l'intérieur de
<script>
balises. Mais ensuite, je l'ai trouvé sous l'onglet Sources, appelées "(index)", avec la parenthèse. Cliquez sur le numéro de ligne pour définir des points d'arrêt.C'est Chrome 71.
Si vous ne pouvez pas voir les "Scripts" de l'onglet, assurez-vous que vous êtes le lancement de google Chrome avec les bons arguments. J'ai eu ce problème lorsque j'ai lancé Chrome pour le débogage JavaScript côté serveur avec l'argument
--remote-shell-port=9222
. Je n'ai pas de problème si je lance google Chrome avec aucun argument.Je suis tombé sur ce problème, cependant ma fonction en ligne a été dans un angularJS vue. Par conséquent, la charge, je ne pouvais pas accéder au script en ligne pour ajouter le débogage, car seule l'index.html était disponible dans l'onglet sources de la débogueur.
Cela signifie que lorsque j'ouvrais le point de vue particulier avec mon inline (pas eu le choix sur ce point), il n'était pas accessible.
La onlly façon dont j'ai été en mesure de frapper, c'était de mettre une fausse fonction ou d'appeler à l'intérieur de la ligne de JS fonction.
Ma solution inclus :
Ce que cela signifie quand je clique sur mon bouton, j'ai ensuite été invité dans le chrome consolse.
La chose importante ici est la source de cette :
VM5658:6
cliquant sur ce m'a permis d'étape par le biais de la ligne et de tenir le point de rupture, il y en pour plus tard..Extrêmement compliquée façon de l'atteindre.. Mais cela a fonctionné et pourrait s'avérer utile pour le moment de traiter avec des Single page apps dynamiquement la charge de votre point de vue.
La
VM[n]
n'a pas de valeur significative, et lan
sur correspond au script ID. Cette information peut être trouvée ici : Chrome "[VM]"À l'aide de Visual Studio (2012) j'ai eu le même problème et de passer à IIS Express résolu le problème!
La
script
de la balisetype
attribut n'a pas de facteur en elle.Pour une raison quelconque, le Serveur de Développement Visual Studio n'a pas à fournir tout le Chrome a besoin d'activer les points d'arrêt.
C'est une extension de Rian Schmits réponse ci-dessus. Dans mon cas, j'ai eu le code HTML incorporé dans mon code JavaScript et je ne pouvais rien voir d'autre que le code HTML. Peut-être Chrome de Débogage a changé au fil des ans, mais le droit-en cliquant sur les Sources/Sources onglet s'est présentée à moi avec Ajouter un dossier à l'espace de travail. J'ai été en mesure d'ajouter l'ensemble de mon projet, ce qui m'a donné accès à tous mes JavaScripts. Vous pouvez trouver plus de détails dans ce lien. J'espère que cela aide quelqu'un.
Je sais que le Q n'est pas à propos de
Firefox
mais je n'ai pas envie d'ajouter une copie de cette question, à juste répondre moi-même.Pour Firefox, vous devez ajouter
debugger;
pour être en mesure de faire ce que @matt-ball suggéré pour lascript
tag.De votre code, vous pouvez ajouter
debugger
au-dessus de la ligne que vous souhaitez déboguer et ensuite vous pouvez ajouter des points d'arrêt. Si vous venez de définir les points d'arrêt sur le navigateur, il ne s'arrêtera pas.