---
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` :

## Débug now🐛
**Depuis un terminal VS Code**, on lance maintenant notre commande `npm run dev`:

> 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 :

> 🔴 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. :

## 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)

- puis cliquez sur le lien `inspect` dans la remote target correspondante : 