等待调试器断开连接... - VSCode中的Node.js

时间:2017-12-07 18:47:35

标签: javascript node.js debugging visual-studio-code

我正在尝试在Visual Studio代码中单步执行一个简单的javascript示例,但调试器会尝试断开连接。

macOS Sierra版本10.12.6

VSCode版本1.18.1(最新版)

使用Homebrew

安装的Node.js v8.9.2(最新版本)
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...

这似乎已经是CodeNode的封闭问题,这就是为什么我很困惑。我做错了吗?

这是我正在尝试调试的唯一的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"
        }

13 个答案:

答案 0 :(得分:2)

单击如下所示的按钮以打开launch.json-

To open Launch.json

在此处启动服务器的正确文件名。就我而言,它是app.js

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

答案 1 :(得分:0)

您应该确保显示problems的标签为空,即您应该解决所有问题。如果问题来自node_modules中的文件,只需关闭这些窗口就可以解决问题。

例如,在以下图片中,Problems标签中有4个问题。修复它们将使调试器正常工作!

enter image description here

答案 2 :(得分:0)

对我来说,依赖项在调试时崩溃,这似乎也使vscode调试器本身崩溃了。重新启动VSCode将允许我再次调试。尽管调试控制台消息仍然令人困惑,但是删除错误的依赖项(即,如其他答案中所建议的那样,修改代码)可以关闭调试过程。

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

看来调试器无法断开连接。但是我以后再开始新的调试会话也没问题。

答案 3 :(得分:0)

检查您的launch.json文件。它存在于您项目中的文件夹.vscode中。在launch.json中,将程序值更改为$ {workspaceFolder} /。

答案 4 :(得分:0)

对我来说,以下几点有所帮助:

  1. 在程序中的任何地方创建了另一个新的调试器。
  2. 运行新的调试器
  3. 从播放/停止/步骤菜单中停止新的调试器

从这种“无法断开连接”的故障中,我认为调试器会复位。

答案 5 :(得分:0)

我在代码中发现语法错误。问题是我没有捕捉到异常。 使用VS Code,我在“未捕获的异常”上打了勾,发现了错误的代码。

答案 6 :(得分:0)

我发现安装了多个“节点调试”扩展。 “反应本机工具”对这两个都有依赖。在删除“ React Native Tools”和“ Node Debug”扩展之后,VS Code恢复了运行调试器的正常行为和预期行为。我使用了默认的启动配置:

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

答案 7 :(得分:0)

它在您破坏代码时发生。 启动您的项目,您将看到您的应用程序崩溃。 解决该问题,您将可以再次调试。

答案 8 :(得分:0)

使用$'{file} 对于活动窗口:

{

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

答案 9 :(得分:0)

您可以检查.json         {             “ type”:“节点”,             “ request”:“启动”,             “ name”:“启动程序”,             “程序”:“ $ {workspaceFolder} / main.js ”         }

答案 10 :(得分:0)

请首先检查您的代码,在编译代码时应该会出现一些问题。

答案 11 :(得分:0)

当我在protractor.conf.js规范中添加了错误的文件路径时,这发生在我身上。我忘了添加文件扩展名。

答案 12 :(得分:-1)

如果您打开了多个 VS 代码选项卡,则可能会出现此问题。关闭所有选项卡,然后再次打开 VS 代码,希望它可以工作。