web-dev-qa-db-fra.com

Comment déboguer le noeud js app avec les points d'arrêt et tout?

J'ai installé node-inspector juste pour découvrir qu'il ne supporte pas les points d'arrêt: | Quel est le problème, sachant que, dans l’ensemble, le code de nœud est asynchrone et que vous ne pouvez tout simplement pas le suivre étape par étape? ..

Je manque définitivement un point ici ...

Quoi qu'il en soit, pour déboguer le code de noeud avec les points d'arrêt et tout?

25
jayarjo

oui, j'ai utilisé avec succès inspecteur de nœuds. Si vous voulez des points d'arrêt permanents, insérez simplement debugger; dans votre code. Voir http://nodejs.org/api/debugger.html .

Faire en sorte que le noeud attende la connexion d'un débogueur, à l'aide de node --debug-brk script.js, peut également être très utile.

18
rdrey

(Pour le nœud 8 et les versions ultérieures) 

Node.js a un débogueur intégré. Normalement, vous pouvez activer le débogueur de deux manières:

  1. Démarrez votre application ou script Node.js avec le commutateur --inspect ou --inspect-brk. Par exemple:

    $ node.js --inspect index.js

(Remarque: --inspect-brk marque une pause avant le début du code utilisateur)

  1. Si, pour une raison quelconque, vous ne pouvez pas démarrer votre application ou script Node.js avec le commutateur --inspect, vous pouvez toujours demander au processus Node.js de commencer à écouter les messages de débogage en le signalant avec SIGUSR1 (sous Linux et OS X). Pour le nœud 8 et les versions ultérieures, l'activation de l'API Inspector est identique à celle du commutateur --inspect.

    $ kill -sigusr1 23485

(Remarque: vous devez remplacer 23485 par votre propre ID de processus Node.js)

Lorsque le débogueur est activé, vous pouvez ouvrir le navigateur Google Chrome et taper la barre d'adresse chrome://inspect

Ensuite, vous devriez voir une entrée listée sous "Cible distante". Allez-y et cliquez sur "inspecter".

Vous pouvez maintenant définir des points d'arrêt et commencer à déboguer votre code.

Référence:

  1. https://nodejs.org/en/docs/guides/debugging-getting-started/
  2. Problème lié au stackoverflow: Chrome Devtools Dedicated Node.js L’inspecteur ne s’arrêtant pas aux points d’arrêt
3
Yuci

Juste pour élaborer un peu ici: 

Définissez un débogueur à l'endroit souhaité pour les points d'arrêt, puis exécutez votre code avec le noeud debug script.js/index.js

Lorsque le débogueur s’arrête à votre point d’arrêt, vous devez effectuer une réplique pour inspecter les variables. 

1
bsiddiqui