web-dev-qa-db-fra.com

En attendant que le débogueur se déconnecte ... - Node.js dans VSCode

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"
        }
16
csforbes

cliquez sur le bouton comme indiqué ci-dessous pour ouvrir launch.json-

To open 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"
    }
]
6
Nayan Patel

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.

2
Mojo

Utilisez $ '{fichier} pour la fenêtre active:

{

  "version": "0.2.0",
  "configurations": [{
    "type": "node",
    "request": "launch",
    "name": "Active window",
    "program": "${file}"
  }]
}
0
A. JELLALI

Pour moi, ce qui a aidé était le suivant:

  1. créé un autre nouveau débogueur n'importe où dans le programme.
  2. Exécutez le nouveau débogueur
  3. Arrêtez le nouveau débogueur à partir du menu lecture/arrêt/étape

Cela réinitialise le débogueur, je pense, de ce problème "ne peut pas déconnecter".

0
miberg81

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!

enter image description here

0
Ari

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.

0
Christèle Legeard

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} /.

0
Nilesh Bhujbal

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"
        }
    ]
}
0
devxbot

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.

0
Rafael Emshoff