web-dev-qa-db-fra.com

Inspecter les variables à l'aide du débogueur intégré du nœud?

J'essaie d'utiliser le débogueur de noeud. Je cours node debug server pour exécuter mon serveur. Ensuite j'ai:

...
var Workspace = mongoose.model('Workspace');
debugger;

À ce stade, comme prévu, lorsque j'exécute ce code, le débogueur s'affiche. Cependant, je m'attendrais à ce que toutes les variables actuelles soient définies, comme cela se produit dans le propre débogueur de Chrome.

Mais:

break in hotplate/node_modules/bd/lib/bd.js:133
132 
133   debugger;
134 
135   // Delete the ID and the version since there's no point,
debug> Workspace
ReferenceError: Workspace is not defined

Alors ... comment puis-je en fait inspecter les variables actuelles?

Question bonus: existe-t-il un moyen d'utiliser les outils de développement de Chrome (CTRL-J) pour qu'il se connecte au nœud et fonctionne de cette façon? (Je connais l'inspecteur de nœuds, mais c'est très obsolète et ...)

47
Merc

La réponse à la question bonus a changé en 2018.

Exécutez node inspect foo.js.

Visitez chrome://inspect Et dans la liste des appareils, vous devriez voir une entrée qui dit Target (<process.version>) avec un lien d'inspection.

Il ressemble à ceci: enter image description here

3
Andy Gaskell

Utilisez la commande repl (voir le troisième exemple dans docs )

break in hotplate/node_modules/bd/lib/bd.js:133
132 
133   debugger;
134 
135   // Delete the ID and the version since there's no point,
debug> repl
Press Ctrl + C to leave debug repl
> Workspace

Mise à jour: question bonus - https://github.com/c4milo/node-webkit-agent

77
Andrey Sidorov