1647 votes

Comment déboguer Node.js applications

Comment déboguer un Node.js serveur d'application? Droit maintenant, je suis la plupart du temps à l'aide d'alerte de débogage avec des instructions d'impression, comme ceci:

sys.puts(sys.inspect(someVariable));

Il doit y avoir une meilleure façon de débogage. Je sais que Google Chrome est un débogueur de ligne de commande. Est-ce débogueur disponible pour Node.js ainsi?

1290voto

daralthus Points 5230

nœud-inspecteur pourrait sauver la journée! L'utiliser à partir de n'importe quel navigateur supportant les websockets. Les points d'arrêt, de profils, de livecoding etc... C'est vraiment génial.

L'installer avec

npm install -g node-inspector

ensuite, exécutez

node-debug app.js

771voto

balupton Points 17805

Il existe quelques outils et des moyens de sortir de là:

Joyent Guide de l'

Interactive Traces de Pile avec traceGL

Profilage avec Profiler

  1. Installation à l'échelle mondiale npm install -g profiler
  2. Commencez votre processus avec node --prof cela va créer un v8.log le fichier
  3. Construire nprof en exécutant ~/.nvm/v0.8.22/lib/node_modules/profiler/tools/build-nprof
  4. Exécutez ~/.nvm/v0.8.22/lib/node_modules/profiler/nprof cela va lire le v8.journal de profil et de vous donner belle sortie.

CPU et le Profilage de la Mémoire avec NodeTime

  1. Installation de votre application, npm install nodetime
  2. Inclure dans votre demande, require('nodetime').profile()
  3. Suivez les instructions qu'il sera sortie de la console

Alternativement, vous pouvez utiliser look, qui est basé sur l' nodetime, mais il n'envoie pas de données à nodetime.com.

Blink (anciennement WebKit) Développeur d'Outils de Débogage avec Nœud Inspecteur

  1. L'installer dans le monde entier: npm install -g node-inspector
  2. Exécuter votre application en mode debug: node-debug your/node/program.js (ou de s'attacher à un processus en cours d'exécution: kill -s USR1 <your node process id>)
  3. Dans un autre terminal de fenêtre node-inspector: node-inspector
  4. Ouvrez http://127.0.0.1:8080/debug?port=5858 (ou de débogage à distance par le remplacement 127.0.0.1 avec votre hôte, assurez-vous que le port 8080 est ouvert).

Webkit Développeur des Outils de Profilage avec Node Webkit Agent

  1. Installation de votre application, npm install webkit-devtools-agent
  2. Inclure dans votre demande, agent = require('webkit-devtools-agent')
  3. Activer l'agent: kill -SIGUSR2 <your node process id>
  4. Accéder à l'agent via le lien approprié

Interactive Cloud9 De Débogage

Heapdumps à WebKit Outils de développement

La journalisation des Bibliothèques de sortie des Informations de Débogage

Les bibliothèques qui améliorent la trace de la pile d'informations

Flamegraphs avec Dtrace et StackVis

Flamegraphs avec Chrome Developer Tools

Référence

263voto

Fabian Jakobs Points 7047

Le V8 débogueur publié dans le cadre de Google Chrome Developer Tools peut être utilisé pour déboguer Node.js les scripts. Une explication détaillée de comment cela fonctionne peuvent être trouvés dans la Node.js GitHub wiki.

Il est également ndb, d'une ligne de commande du débogueur écrit dans Node.js lui-même.

96voto

JulianW Points 381

Node.js la version 0.3.4+ a intégré dans le support du débogage.

node debug script.js

Manuel: http://nodejs.org/api/debugger.html

59voto

isNaN1247 Points 7480

Personnellement, j'utilise JetBrains WebStorm car c'est la seule JavaScript IDE que j'ai trouvé qui est grande pour les deux frontend et backend JavaScript.

Il fonctionne sur plusieurs systèmes d'exploitation et a Node.js débogage intégré (ainsi que plein d'autres trucs](http://www.jetbrains.com/webstorm/features/index.html).

Mon seul " questions/wishlist éléments sont ont été:

  1. Il semble être plus gourmandes en ressources sur Mac que Windows , Il ne semble plus un problème dans la version 6.
  2. Ce serait bien si elle avait Extrait de soutien (comme ceux de Sublime Text 2 - c'est à dire de type " fun " et appuyez sur la touche 'tab' pour le mettre en fonction. Voir @WickyNilliams commentaire ci-dessous - Avec Live Templates vous avez également extrait de soutien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X