Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js VSC断点保持未绑定状态_Node.js_Visual Studio Code_Vscode Debugger - Fatal编程技术网

Node.js VSC断点保持未绑定状态

Node.js VSC断点保持未绑定状态,node.js,visual-studio-code,vscode-debugger,Node.js,Visual Studio Code,Vscode Debugger,我正在尝试使用Visual Studio代码调试器调试Node.js应用程序。但是,所有断点都保持“未绑定”。为什么断点没有绑定 我使用VSC v1.55.2和节点v9.8.0。 我的配置launch.json: { "configurations": [ { "name": "Debug Server Side", "console": &qu

我正在尝试使用Visual Studio代码调试器调试Node.js应用程序。但是,所有断点都保持“未绑定”。为什么断点没有绑定

我使用VSC v1.55.2和节点v9.8.0。 我的配置
launch.json

{
    "configurations": [
        {
            "name": "Debug Server Side",
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "program": "${workspaceFolder}/server.js",
            "request": "launch",
            "restart": true,
            "runtimeExecutable": "nodemon",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "pwa-node",

            // I added:
            "localRoot": "${workspaceFolder}",
            "remoteRoot": "/",
            "trace": true,
        }
    ]
}
详细日志:

例如,我在
server.js
的第3行和第5行添加了一个断点,这两行都未绑定:

const app = require("./app");
const { SERVER_PORT } = process.env;
app.set("port", SERVER_PORT);
const server = app.listen(app.get("port"), () => {
    console.log(`Server running → PORT ${server.address().port}`);
});

您应该尝试在VSC扩展中安装JavaScript调试器。然后用那个调试器打开新的终端。

我使用的是节点版本9.8.0,更新到节点版本14.15.1解决了这个问题。

谢谢@deko_39,但是Javascript调试器是内置在VSC中的,所以它已经安装好了。安装Javascript调试器的夜间版本也不能解决这个问题。在安装该扩展之后。在配置数组中添加此对象:{“type”:“node terminal”,“name”:“Create JavaScript Debug terminal”,“request”:“launch”,“cwd”:“${workspaceFolder}”}或者您可以转到Debug选项卡,选择nodejs>>创建JavaScript Debug terminal,该对象将自动添加到配置中。希望能有帮助。您是否检查了插入断点的确切位置?似乎VSC不喜欢array.map/forEach等使用的回调处的断点。我在异步代码中也看到过这种行为,但并不总是如此。@ak_linus,我不认为是这样,但可以肯定的是,我在文章末尾添加了一个2个断点的示例来进行检查。这些断点不应该工作吗?我在一个新项目上尝试了相同的设置,一切都按预期工作。我认为您的节点配置有问题,在VS代码之外。您是否尝试过使用
“runtimeExecutable”进行调试:“node”
而不是调试窗口列表中的
nodemon
,在“常规”部分下,您可以找到以下选项:“启用调试JavaScript”或类似选项,请确保选中它,如果选择了它,那么问题不在visual studio调试器中,而是在其他一些配置中。您所做的一切我都做了。无界断点错误让我发疯。尝试清理并重建整个项目。
const app = require("./app");
const { SERVER_PORT } = process.env;
app.set("port", SERVER_PORT);
const server = app.listen(app.get("port"), () => {
    console.log(`Server running → PORT ${server.address().port}`);
});