web-dev-qa-db-fra.com

Comment déboguer une application node.js de base (pas http) sous Windows

Je sais comment déboguer des applications http en utilisant node-inspector et iisnode. Mais puis-je utiliser node-inspector pour déboguer une application non http node, sous Windows?

J'ai essayé:

 node debug test.js

Ça dit:

debugger listening on port 5858

Mais ouvrir http://localhost:5858/ dans Chrome ne fait rien.


BTW: l'exécution de node debug test.js démarre le débogueur de ligne de commande qui fonctionne. Mais ce n'est rien comme inspecteur de noeud.

28
Sylvain

Pour utiliser node-inspector, le commutateur de droite est node --debug et non node debug.

Voici les étapes détaillées:

  1. installer le noeud-inspecteur globalement (npm install -g node-inspector)
  2. à partir d'une fenêtre de ligne de commande, exécutez: node-inspector
  3. ouvrez Chrome et accédez à http://localhost:8080/debug?port=5858. Vous obtiendrez l'interface utilisateur de l'inspecteur de nœud, mais sans aucune application en cours d'exécution.
  4. depuis une autre fenêtre de ligne de commande, exécutez votre application avec le commutateur --debug comme suit: node --debug test.js
  5. actualisez l'onglet Chrome et le tour est joué!

Quelques points intéressants:

  • Si vous supprimez votre application et la redémarrez, actualisez simplement l'onglet Inspecteur de nœud. Il gardera tous vos points d'arrêt.
  • Pour rompre automatiquement sur la première ligne, démarrez votre application avec node --debug-brk test.js
63
Sylvain

Il dit: débogueur écoutant sur le port 5858

Je me suis posé la question, mais comme la documentation de Node.js indique que le débogueur est accessible via un simple protocole TCP et ne dit rien sur HTTP, je suppose que non, il ne sera pas disponible à _http : // localhost: 5858.

"La V8 est fournie avec un débogueur étendu accessible hors processus via un simple protocole TCP" - http://nodejs.org/api/debugger.html

2
Hector Correa

Quelques liens qui pourraient vous aider:

2
Alfred

Très récemment, Microsoft a publié les outils node.js pour Visual Studio . Il a le très confortable débogage Visual Studio pour node.js.

1
user659025

Si vous êtes un noob comme moi sous Windows et que vous obtenez un «inspecteur de nœud non reconnu» ou quelque chose au sujet de l'erreur JScript de Windows ... malgré l'installation globale, l'ajout à PATH, etc., cela peut aider.

Accédez à C:\Users\urusername\AppData\Roaming\npm

Ensuite, lancez node-debug.cmd ou node-inspector.cmd

Vous devriez avoir des mots magiques comme 

Node Inspector v0.12.7
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
Debugger listening on port 5858

Impressionnant. Si vous connaissez une meilleure solution, s'il vous plaît faites le moi savoir

0
Script Kitty

nœud-inspecteur pourrait être très utile.

Utilisez-le à partir de tout navigateur prenant en charge les websockets. 

Points d'arrêt, profileur, codage de livraisons, etc.

http://erickrdch.com/2012/09/debug-a-nodejs-app-with-chrome-dev-tools.html

0
Amol M Kulkarni

Pour info, sous OSX 10.8, Chrome v26 ne semble pas fonctionner, mais Safari 6 utilise les mêmes instructions que ci-dessus et utilise 0.0.0.0:8080 pour se connecter.

Danny Coates a écrit un autre article quelque part qui dit de le faire dans l'ordre suivant:

  1. Votre processus de noeud: noeud --debug (ou --debug-brk) my_program.js
  2. Inspecteur de nœud: inspecteur de nœud
  3. Le navigateur a indiqué 0.0.0.0:8080
0
Nicolas Frias