首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSCode NodeJs:调试器不停止在断点(WSL2 2/Ubuntu18 18)

VSCode NodeJs:调试器不停止在断点(WSL2 2/Ubuntu18 18)
EN

Stack Overflow用户
提问于 2020-12-21 16:11:01
回答 1查看 2.8K关注 0票数 3

使用WSL2 2/Ubuntu18 18,我无法使VSCode NodeJs调试器停止在任何NodeJs应用程序的断点上。当我启动调试器时,它会运行(我可以看到集成终端上的输出),但是断点被忽略了。

simple.js文件,在第3行有一个断点:

launch.json设置为:

代码语言:javascript
复制
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "NodeJs: Launch Program",
            "program": "${file}",
            "request": "launch",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "pwa-node",
            "console": "integratedTerminal"
        }
    ]
}

当我按F5或单击VS代码上的“开始调试”按钮时,应用程序将运行,并在集成终端上显示如下:

代码语言:javascript
复制
/usr/bin/env 'NODE_OPTIONS=--require /home/myuser/.vscode-server/bin/ea3859d4ba2f3e577a159bc91e3074c5d85c0523/extensions/ms-vscode.js-debug/src/bootloader.bundle.js --inspect-publish-uid=http' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/tmp/node-cdp.19338-1.sock","deferredMode":false,"waitForDebugger":"","execPath":"/home/myuser/.nvm/versions/node/v14.15.1/bin/node","onlyEntrypoint":false,"autoAttachMode":"always","fileCallback":"/tmp/node-debug-callback-ff32d873905abafa"}' /home/myuser/.nvm/versions/node/v14.15.1/bin/node ./simple.js 
Debugger attached.
0
1
2
3
4
Waiting for the debugger to disconnect...

我已经从Node10升级到了Node14,但是问题仍然存在。

在使用WSL1的另一台计算机上,并使用相同的launch.json,调试器将停止在给定的断点处。我需要在WSL2上另外设置一些东西吗?为了记录在案,在WSL1计算机上的集成终端停留在第3行之前,它将显示如下内容:

代码语言:javascript
复制
/usr/bin/env 'NODE_OPTIONS=--require /home/myuser/.vscode-server/bin/ea3859d4ba2f3e577a159bc91e3074c5d85c0523/extensions/ms-vscode.js-debug/src/bootloader.bundle.js --inspect-publish-uid=http' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/tmp/node-cdp.787-3.sock","deferredMode":false,"waitForDebugger":"","execPath":"/home/myuser/.nvm/versions/node/v14.15.1/bin/node","onlyEntrypoint":false,"autoAttachMode":"always","fileCallback":"/tmp/node-debug-callback-b901b6d6e3e9799b"}' /home/myuser/.nvm/versions/node/v14.15.1/bin/node ./simple.js 
Debugger attached.
<Breakpoint hit and stop...>

附加信息,调试Python3文件在这两台机器上都是正确的。

这两台计算机都安装了相同的VS代码版本。

更新:

您可以在GitHub:https://github.com/microsoft/vscode/issues/113283上跟踪这个问题。

EN

回答 1

Stack Overflow用户

发布于 2021-09-02 09:12:18

问题是NodeJs应用程序是从一个符号链接地址运行的,因此调试器无法处理它。

github上VSCode/NodeJS的开发人员的回答:

看起来您的脚本被符号链接到/bin/nhosko/simple.js,但是它的实际位置是/mnt/c/Users//bin-nhosko/simple.js。在这种情况下,您需要指定一些标志,以便Node能够报告vscode看到的链接位置,并告诉调试器有关:https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_can-i-debug-if-im-using-symlinks的信息。我想让调试器足够聪明,在microsoft/vscode-js-调试#776中自动修复这个问题。

https://github.com/microsoft/vscode/issues/113283#issuecomment-750371948

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65396154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档