J'essaie de parcourir un simple exemple javascript dans Visual Studio Code, mais le débogueur se bloque en essayant de se déconnecter.
macOS Sierra version 10.12.6
VSCode version 1.18.1 (à jour)
Node.js v8.9.2 (à jour) installé avec Homebrew
Debugging with inspector protocol because Node.js v8.9.2 was detected.
node --inspect-brk= /*(port)*/ jsSandbox.js
Debugger listening on ws:// (ip address)
Debugger attached.
Waiting for the debugger to disconnect...
Cela semble avoir été un problème fermé avec Code et Node déjà, c'est pourquoi je suis tellement confus. Est-ce que je fais quelque chose de mal?
Voici le seul fichier javascript que j'essaie de déboguer:
// learning about closure
function increase() { // — gets called once
var getBig = 0;
return function() { // — — gets called each time
getBig += 1; // — — increments each time
console.log(getBig);
};
}
var bigOne = increase(); // -- a reference to the instance of the function
bigOne(); //1
bigOne();//2
... et la configuration de launch.json du projet:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/jsSandbox.js",
"console": "internalConsole"
}
cliquez sur le bouton comme indiqué ci-dessous pour ouvrir launch.json-
Donnez votre nom de fichier correct ici, où votre serveur démarre. Dans mon cas, c'est app.js
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js"
}
]
J'ai trouvé une erreur de syntaxe dans mon code. Le problème était que je n'attrapais pas l'exception. En utilisant VS Code, je viens de cocher "Uncaught Exceptions" et j'ai trouvé le code défectueux.
Utilisez $ '{fichier} pour la fenêtre active:
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "Active window",
"program": "${file}"
}]
}
Pour moi, ce qui a aidé était le suivant:
Cela réinitialise le débogueur, je pense, de ce problème "ne peut pas déconnecter".
Vous devez vous assurer que l'onglet affichant problems
est vide, c'est-à-dire que vous devez résoudre tous les problèmes. Dans les cas où les problèmes proviennent des fichiers dans node_modules
, les problèmes disparaissent simplement en fermant ces fenêtres.
Par exemple dans les images suivantes, il y a 4 problèmes dans l'onglet Problems
. Les corriger fera fonctionner correctement le débogueur!
Cela se produit lorsque vous cassez votre code. Démarrez votre projet et vous verrez que votre application plante. Résolvez le problème et vous pourrez à nouveau déboguer.
Vérifiez votre fichier launch.json. Son présent dans le dossier .vscode de votre projet. Dans launch.json, changez la valeur du programme en $ {workspaceFolder} /.
J'ai trouvé plusieurs extensions "Node Debug" installées. "React Native Tools" dépendait des deux. Après avoir supprimé les "React Native Tools" puis les extensions "Node Debug", VS Code a repris le comportement normal et attendu de l'exécution du débogueur. J'ai utilisé la configuration de lancement par défaut:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/bin/www"
}
]
}
Pour moi, un dépendance s'est écrasé lors du débogage, ce qui semble également planter le débogueur vscode lui-même. Le redémarrage de VSCode me permettrait de déboguer à nouveau. La suppression de la dépendance défectueuse (c'est-à-dire la correction du code, comme suggéré dans l'autre réponse), permet de fermer le processus de débogage, bien que le message de la console de débogage était toujours confus:
Debugger listening on ws://127.0.0.1:48673/54esaf46-659e-sd92-5e45-01e78845825e
Debugger attached.
Waiting for the debugger to disconnect...
Il semblerait que le débogueur ne puisse pas se déconnecter. Mais je n'ai aucun mal à démarrer une nouvelle session de débogage par la suite.