Le débogage est un aspect crucial du développement logiciel. Node.js est équipé d'un inspecteur intégré qui permet aux développeurs de déboguer leur code de manière interactive.

Activation de l'Inspecteur Node.js

Pour démarrer un processus Node.js en mode inspecteur, vous pouvez utiliser la commande node suivie de l'option --inspect ou --inspect-brk :

  • --inspect : Active l'inspecteur mais ne s'arrête pas sur le premier code utilisateur (c'est-à-dire que le code commence à s'exécuter immédiatement).
  • --inspect-brk : Active l'inspecteur et s'arrête avant que le code utilisateur commence à s'exécuter (c'est-à-dire que le débogueur s'arrêtera au début du script).
node --inspect app.js

ou

node --inspect-brk app.js

Lorsque vous exécutez Node.js avec l'option --inspect, il ouvre un WebSocket sur un port par défaut (9229) et écoute les commandes de débogage. Vous pouvez également spécifier un port en le faisant suivre de =, comme dans --inspect=12345.

Connexion à l'Inspecteur

Une fois que Node.js est lancé en mode inspecteur, vous pouvez vous y connecter de plusieurs manières :

  1. Chrome DevTools :

    • Ouvrez Google Chrome et tapez chrome://inspect dans la barre d'adresse.
    • Cliquez sur "Open dedicated DevTools for Node" ou localisez votre processus Node.js sous "Remote Target" et cliquez sur "inspect".
  2. Visual Studio Code :

    • Vous pouvez utiliser le débogueur intégré de Visual Studio Code en configurant un fichier .vscode/launch.json dans votre projet.
    • Voici un exemple de configuration qui vous permettra de vous connecter au processus Node.js :
    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "node",
          "request": "attach",
          "name": "Attach to Process",
          "port": 9229,
          "skipFiles": ["<node_internals>/**"]
        }
      ]
    }
    

Utilisation de l'Inspecteur

Une fois connecté, vous pouvez :

  • Mettre des points d'arrêt.
  • Examiner les variables et les portées.
  • Parcourir la pile des appels.
  • Exécuter le code pas à pas (step over, step into, step out).
  • Voir les performances et les profils de mémoire.
  • Et beaucoup d'autres fonctionnalités de débogage.

Conseils pour le Débogage

  • Points d'arrêt conditionnels : Vous pouvez définir des conditions pour vos points d'arrêt pour qu'ils ne déclenchent que lorsque certaines conditions sont remplies.
  • Logging : Utilisez console.log, console.error, et console.warn pour imprimer des informations de débogage dans la console. Cependant, évitez de trop vous reposer sur le logging pour le débogage complexe.
  • Débogage à distance : Vous pouvez également déboguer des applications Node.js s'exécutant sur des systèmes distants en exposant le port de débogage via SSH ou d'autres méthodes de tunneling sécurisé.

Le débogage avec l'inspecteur Node.js peut considérablement améliorer votre efficacité lors de la recherche et de la correction des bugs dans vos applications Node.js. Il est recommandé de se familiariser avec les outils de débogage disponibles et de les intégrer dans votre flux de travail de développement habituel.

Modifié le: jeudi 2 novembre 2023, 07:35