Ожидание отладки отключить... - Node.js в VSCode

Я пытаюсь просмотреть простой пример JavaScript в коде Visual Studio, но отладчик зависает, пытаясь отключиться.

macOS Sierra версия 10.12.6

Версия VSCode 1.18.1 (актуальная)

Node.js v8.9.2 (в актуальном состоянии), установленный с 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...

Похоже, это было закрытой проблемой и с Code, и с Node, поэтому я так растерялся. Я делаю что-то неправильно?

Вот единственный файл JavaScript, который я пытаюсь отладить:

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

... и конфиг проекта launch.json:

        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/jsSandbox.js",
            "console": "internalConsole"
        }

Ответ 1

нажмите на кнопку, как показано ниже, чтобы открыть запуск. json-

To open Launch.json

Дайте правильное имя файла здесь, где ваш сервер запускается. В моем случае это app.js

"version": "0.2.0",
"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${workspaceFolder}/app.js"
    }
]

Ответ 2

Вы должны убедиться, что вкладка, показывающая problems, пуста, то есть вы должны устранить все проблемы. В случаях, когда проблемы возникают из файлов в node_modules, проблемы исчезают, закрывая эти окна.

Например, на следующих рисунках на вкладке problems есть 4 проблемы. Их исправление сделает работу отладчика корректной!

введите описание изображения здесь

Ответ 3

Для меня зависла зависимость при отладке, которая, по-видимому, также приводит к сбою самого отладчика vscode. Перезапуск VSCode позволит мне снова выполнить отладку. Удаление ошибочной зависимости (т.е. исправление кода, как предложено в другом ответе), позволяет завершить процесс отладки, хотя сообщение консоли отладки все еще сбивает с толку:

Debugger listening on ws://127.0.0.1:48673/54esaf46-659e-sd92-5e45-01e78845825e
Debugger attached.
Waiting for the debugger to disconnect...

Казалось бы, отладчик не может отключиться. Но у меня нет проблем с началом нового сеанса отладки после этого.

Ответ 4

Проверьте ваш файл launch.json. Его присутствует в папке .vscode в вашем проекте. В файле launch.json измените значение программы на $ {workspaceFolder}/.

Ответ 5

Для меня помогло следующее:

  1. создал еще один новый отладчик в любом месте программы.
  2. Запустите новый отладчик
  3. Остановите новый отладчик из меню воспроизведения/остановки/шага

Это как бы сбрасывает отладчик, который, я думаю, из-за этой ошибки "не может отключиться".

Ответ 6

Я нашел синтаксическую ошибку в моем коде. Проблема была в том, что я не уловил исключение. Используя VS Code, я просто поставил галочку "Uncaught Exceptions" и нашел неисправный код.

Ответ 7

Я обнаружил несколько расширений Node Debug. "React Native Tools" зависел от обоих. После того как я удалил "React Native Tools", а затем "Node Debug" расширения, VS Code возобновил нормальное и ожидаемое поведение при запуске отладчика. Я использовал конфигурацию запуска по умолчанию:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/bin/www"
        }
    ]
}

Ответ 8

Это происходит, когда вы нарушаете свой код. Запустите свой проект, и вы увидите, что ваше приложение падает. Исправьте проблему, и вы сможете снова выполнить отладку.