Contenu
Débug d’une application NodeJS exécutée dans une fenêtre VSCode
Aller dans Debug (icône avec un insecte), cliquer sur le triangle vert, puis sélectionner NodeJS. Mettre un point d’arrêt (Breakpoint). Une barre d’outil apparaît permettant de naviguer dans l’exécution pas à pas. C’est le mode de débug le plus simple (en dehor de console.log bien sûr).
Il s’agit de s’attacher à un process avec VSCode. Clonez le projet :
https://github.com/gtsopour/nodejs-shopping-cart
Il vous faut faire un fichier de configuration launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\src\\server.ts",
"outFiles": [
"${workspaceFolder}/**/*.js"
]
}
]
}
Ensuite placez un breakpoint, et recharchez la page correspondante.
la clé « request » a pour valeur « launch« , le debugger est lancé quand vous exécutez le programme. Par contre si vous avez déjà démarré avec npm run dev, et que vous voulez débugger, il faudra rattacher le debugger au process, on associera la valeur « attach«
Dans ce cas le launch.json ressemblera à ça (pas de clé program !)
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Node",
"port": 9229,
"restart": true,
"protocol": "inspector",
"skipFiles": [
"<node_internals>/**",
"${workspaceFolder}/node_modules/**/*.js"
]
}
]
}
Dans le package.json, pour lancer le serveur on avait ça:
"serve": "concurrently \"tsc -w\" \"nodemon dist/server.js\""
Il faut ajouter --inspect à nodemon !
"serve": "concurrently \"tsc -w\" \"nodemon --inspect dist/server.js\""
Débug en lançant le process
Lors qu clic sur le triangle vert, assurez vous d’être sur Launch Program.
Debug en remote (depuis la production par exemple)
Débugger quand c’est Typescript
https://code.visualstudio.com/docs/typescript/typescript-debugging