Debugger Node.js avec node-inspector (Chrome Dev Tools)

La première solution pour débugger la partie serveur en Node est de créer des traces via des console.log, console.info, console.error etc… mais ce n’est pas le but de cet article puisqu’il existe une autre manière beaucoup plus efficace de debugger ce code là grace au plugin node-inspector (Chrome Dev Tools).

Au cas où, je mets quand même les différentes options pour ceux qui souhaitent débugger dans la console :

  • console.log([data], […]);
  • console.info([data], […]);
  • console.error([data], […]);
  • console.warn([data], […]);
  • console.dir(obj);
  • console.time(label);
  • console.timeEnd(label);
  • console.trace(label);
  • console.assert(expression, [message]);

Utiliser son browser

Le gros avantage de debugger dans le Chrome Dev Tools c’est de faire du pas à pas et de pouvoir examiner les variables, objets etc à la volée! Pour en profiter, il suffit d’installer le package node-inspector (à propos de package).

npm install -g node-inspector

Au moment du démarrage du serveur, il faudra simplement rajouter le flag –debug

node --debug server.js

Ou pour mettre un break sur le serveur dès son démarrage…

node --debug-brk server.js

Le serveur a été démarré en mode debug, dernière étape, il faut maintenant lancer node-inspector qui va démarrer sur un autre port : 8080

node-inspector &

nodeinspector_command_line

Votre debugger est prêt à l’URL : http://127.0.0.1:8080/debug?port=5858

node_inspector_debugger_tool

Et voilà! Vous pouvez debugger côté serveur like a boss.