--- tags: ironhack --- [:us: english version](https://hackmd.io/s/H11KV60EV) Débugueur Node.js dans VS Code === ## `node --inspect` Afin d'activer le mode debuggage de node, il convient d'exécuter `node` avec le flag [`--inspect`](https://nodejs.org/api/debugger.html). Ajoutons donc ce flag à notre script `npm run dev` dans le fichier `package.json` généré par [`irongenerate`](https://www.npmjs.com/package/iron-generator) : ```json=7 "dev": "DEBUG=starter-code:* nodemon --inspect ./bin/www" ``` :::info :bulb: Sans avoir à modifier cette ligne, on peut également passer le flag en exécutant la commande `npm run dev -- --inspect` mais c'est plus long :smiley: et il faut y penser à chaque fois (voir la doc de [npm-run-script](https://docs.npmjs.com/cli/run-script.html) à propos.) ::: ## `Auto Attach` Dans les préférences de VS Code, on passe le réglage `Node: Auto Attach` à `on` : ![](https://i.imgur.com/Y7AWdly.png) ## Débug now🐛 **Depuis un terminal VS Code**, on lance maintenant notre commande `npm run dev`: ![](https://i.imgur.com/8zPbfaf.png) > La commande nous informe : `Debugger listening on port 9229.` On peut maintenant définir des points d'arrêt en cliquant sur la ligne que l'on souhaite débugguer : ![](https://i.imgur.com/8IVOYZo.png) > 🔴 Le point rouge à gauche de la ligne 71 indique qu'un point d'arrêt à été défini --- Lorsque qu'une requête fera appel à cette ligne de code, le debugger mettra le programme en pause et nous permettra d'inspecter nos variables, faire du pas-à-pas... etc. : ![](https://i.imgur.com/4LTf1BN.png) ## Alternative devTools Si l'on ne souhaite pas utiliser VS Code pour débugguer, Chrome devTools intègre aussi un debugger Node. Pour cela : - RDV à l'adresse: [`chrome://inspect`](chrome://inspect) ![](https://i.imgur.com/TWOoDa1.png) - puis cliquez sur le lien `inspect` dans la remote target correspondante : ![](https://i.imgur.com/aaDx7mH.png)