Comment puis-je déboguer mon code JavaScript?
Quand je trouve que j'ai une problématique extrait de code, comment dois-je aller sur le débogage il?
Vous devez vous connecter pour publier un commentaire.
Quand je trouve que j'ai une problématique extrait de code, comment dois-je aller sur le débogage il?
Vous devez vous connecter pour publier un commentaire.
Firebug est l'un des outils les plus populaires pour ce but.
Tous les navigateurs modernes viennent avec une certaine forme de JavaScript intégrés de débogage de l'application. Les détails de ces sera couvert sur les technologies pertinentes des pages web. Ma préférence personnelle pour le débogage JavaScript est Firebug dans Firefox. Je ne dis pas que Firebug est mieux que les autres; elle dépend de votre préférence personnelle, et vous devriez probablement vérifier votre site sur tous les navigateurs de toute façon, mais ma première, personnelles, le premier choix est toujours Firebug.
Je vais couvrir certains de haut niveau des solutions ci-dessous, à l'aide de Firebug comme un exemple:
Firefox
Firefox vient avec son propre intégré JavaScript outil de débogage, mais je vous recommande d'installer le Firebug ajouter sur. Il offre plusieurs fonctionnalités supplémentaires basé sur la version de base qui sont à portée de main. Je vais parler seulement de Firebug ici.
Une fois Firebug est installé, vous pouvez y accéder comme ci-dessous:
Tout d'abord, si vous faites un clic droit sur n'importe quel élément vous pouvez Inspecter l'Élément avec Firebug:
Cliquez dessus pour ouvrir Firebug volet en bas du navigateur:
Firebug offre plusieurs fonctionnalités, mais l'on s'intéresse à l'est de l'onglet script. En cliquant sur l'onglet script ouvre la fenêtre ci-dessous:
Bien évidemment, de débogage, vous devez cliquer sur recharger:
Vous pouvez maintenant ajouter les points d'arrêt en cliquant sur la ligne à gauche de la pièce de code JavaScript que vous voulez ajouter le point d'arrêt:
Lorsque votre point d'arrêt est atteint, cela va ressembler à ci-dessous:
Vous pouvez également ajouter regarder des variables et, généralement, faire tout ce que vous pouvez vous attendre dans un cadre moderne outil de débogage.
Pour plus d'informations sur les différentes options offertes dans Firebug, découvrez la Firebug FAQ.
Chrome
Chrome dispose également de sa propre dans la construction de débogage JavaScript option, qui travaille dans une manière très semblable, clic droit, inspecter l'élément, etc.. Jetez un oeil à Outils De Développement Chrome. Je trouve en général que les les traces de pile en Chrome de mieux que de Firebug.
Internet Explorer
Si votre développement dans .NET et à l'aide de Visual Studio à l'aide d'un environnement de développement web vous pouvez déboguer du code JavaScript directement en plaçant des points d'arrêt, etc. Votre code JavaScript ressemble exactement le même que si vous étiez le débogage de votre C# ou VB.NET code.
Si vous ne l'avez pas, Internet Explorer fournit également tous les outils présentés ci-dessus. Fâcheusement, au lieu d'avoir le à droite, cliquez sur inspecter l'élément fonctionnalités de Chrome ou Firefox, vous avez accès aux outils de développement en appuyant sur F12. Cette question couvre la plupart des points.
Il y a un débogueur mot-clé dans le JavaScript pour le débogage du code JavaScript. Mettre débogueur; extrait de code dans votre code JavaScript. Il va automatiquement démarrer le débogage du code JavaScript à ce point.
Par exemple:
Suppose que c'est votre test.js fichier
Je utiliser le bon vieux
printf
approche (une technique ancienne qui va bien travailler en tout temps).Look à la magie
%o
:%o
dump cliquables et la profondeur navigable, joli imprimé contenu de JS objet.%s
a été montré que pour un enregistrement.Et ce:
vous donne Java-comme la trace de la pile à la pointe de la
new Error()
invocation (y compris le chemin du fichier et le numéro de ligne!!).Les deux
%o
etnew Error().stack
disponible en Chrome et Firefox.Avec ces puissants outils vous rendre hypothèse de ce qui se passe de mal dans votre JS, mettre la sortie de débogage (n'oubliez pas de les emballer dans
if
déclaration de réduire la quantité de données) et de vérifier votre hypothèse. Corrigé question ou faire de nouvelle hypothèse ou de mettre plus de sortie de débogage pour peu problème.Aussi pour les traces de pile utilisation:
comme le disent les Console
Happy hacking!
Commencer avec Firebug et IE Débogueur.
Être prudent avec les débogueurs en JavaScript si. Une fois de temps en temps, ils auront une incidence sur l'environnement, juste assez pour causer certaines des erreurs que vous essayez de déboguer.
Exemples:
Pour Internet Explorer, il est généralement un ralentissement graduel et est une sorte de fuite de mémoire type de transaction. Après une demi-heure ou alors j'ai besoin de redémarrer. Il semble être assez régulière.
Pour Firebug, c'est sans doute été plus d'un an, donc il peut avoir été une ancienne version. En conséquence, je ne me souviens pas des détails, mais, fondamentalement, le code ne fonctionnait pas correctement et après avoir essayé de déboguer un moment j'ai désactivé Firebug et le code a bien fonctionné.
Bien que
alert(msg);
œuvres dans les "je veux juste savoir ce qui se passe sur les" scénarios... chaque développeur a rencontré de cas où vous vous retrouvez dans un (très grand ou sans fin) de la boucle que vous ne pouvez pas sortir de.Que je recommande au cours du développement si vous voulez un très dans-votre-visage option de débogage, utilisez une option de débogage qui vous permet de sortir. (PS Opera, Safari? et google Chrome? tous ont ce disponible dans les boîtes de dialogue)
Ci-dessus, vous pouvez obtenir votre auto en une large boucle de la fenêtre de débogage, où appuyant sur Entrée/Ok vous permet de sauter à travers chaque message, mais en appuyant sur Escape/Annuler permet de sortir très bien.
- Je utiliser WebKit est menu développeur/console (Safari 4). Il est presque identique à Firebug.
console.log()
est le nouveau noir, ce qui est bien mieux quealert()
.Ma première étape est toujours de valider le HTML et vérifier la syntaxe avec JSLint. Si vous devez nettoyer le balisage et valide code JavaScript alors il est temps pour Firebug ou autre débogueur.
Visual Studio 2008 a quelques très bons JavaScript, des outils de débogage. Vous pouvez supprimer un point d'arrêt dans votre code JavaScript côté client et pas à travers elle en utilisant exactement les mêmes outils que vous le code côté serveur. Il n'est pas nécessaire pour l'attacher à un processus ou faire quelque chose de difficile à activer.
- Je utiliser quelques outils: Fiddler, Firebug, et Visual Studio. J'entends Internet Explorer 8 a un bon débogueur intégré.
J'ai l'habitude d'utiliser Firebug, jusqu'Internet Explorer 8 est sorti. Je ne suis pas un grand fan d'Internet Explorer, mais après avoir passé quelques temps avec la fonction intégrée dans les outils de développement, qui comprend un très beau débogueur, il semble inutile d'utiliser autre chose. Je tire mon chapeau à Microsoft, ils ont fait un travail fantastique sur cet outil.
Vous pouvez également consulter YUI Enregistreur. Tout ce que vous avez à faire pour l'utiliser est d'inclure un couple de balises dans votre code HTML. C'est un complément utile à Firebug, qui est plus ou moins un doit.
J'ai trouvé la nouvelle version d'Internet Explorer 8 (appuyez sur F12) est très bon le débogage du code JavaScript.
Bien sûr, Firebug est bon si vous utilisez Firefox.
En plus de l'aide de Visual Studio débogueur JavaScript, j'ai écrit ma propre panneau simple que je inclure une page. C'est simplement comme le Fenêtre exécution de Visual Studio. Je peux changer mes valeurs des variables, appeler mes fonctions, et de voir les valeurs des variables. Simplement, il évalue le code écrit dans le champ de texte.
Je suis en utilisant Venkman, un débogueur JavaScript pour XUL applications.
En plus de Firebug et un navigateur natif developer extensions JetBrains WebStorm l'IDE vient avec débogage à distance de soutien pour Firefox et Chrome (Extension nécessaire) construit en.
Prend également en charge:
Options à tester cette gratuitement sont le 30 procès ou à l'aide d'un L'Accès Anticipé À La Version.
Si vous utilisez Visual Studio, il suffit de mettre
debugger;
ci-dessus le code que vous souhaitez déboguer. Au cours de l'exécution de la commande pause à cet endroit, et vous pouvez déboguer étape par étape à partir de là.Comme avec la plupart des réponses, ça dépend vraiment: Qu'essayez-vous d'atteindre avec votre débogage? Le développement de base, résolution de problèmes de performances? Pour le développement de base, toutes les réponses précédentes sont plus que suffisants.
Pour les tests de performances plus précisément, je vous recommande de Firebug. Être en mesure de profil de méthodes qui sont les plus coûteux en termes de temps a été d'une valeur inestimable pour un certain nombre de projets, j'ai travaillé sur. Côté client bibliothèques deviennent de plus en plus robuste, et de plus en plus la responsabilité est placé à côté client en général, ce type de débogage et profilage va le devenir encore plus utile.
Firebug Console API:
http://getfirebug.com/console.html
En appuyant sur F12 les développeurs web peuvent rapidement débogage du code JavaScript sans quitter le navigateur. Il est intégré dans chaque installation de Windows.
Dans Internet Explorer 11, les outils F12 fournit des outils de débogage comme les points d'arrêt, de regarder et de variable locale de la visualisation, et une console
pour les messages et immédiate de l'exécution de code.