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

问题描述 投票:14回答:8

我试图在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"
        }
javascript node.js debugging visual-studio-code
8个回答
5
投票

点击下面的按钮打开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
投票

我在代码中发现语法错误。问题是我没有抓住异常。使用VS Code,我只勾选了“Uncaught Exceptions”并找到了错误的代码。


0
投票

你应该确保显示problems的标签是空的,即你应该解决所有问题。如果问题来自node_modules中的文件,那么问题就会通过关闭那些窗口而消失。

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

enter image description here


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

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


0
投票

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


0
投票

对我来说,有以下帮助:

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

它有点重置我认为从这个“无法断开”故障的调试器。


0
投票

我发现安装了多个“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"
        }
    ]
}

0
投票

当您破坏代码时会发生这种情况。启动您的项目,您将看到您的应用程序崩溃。解决问题,您将能够再次调试。

© www.soinside.com 2019 - 2024. All rights reserved.