【发布时间】:2020-12-21 16:11:01
【问题描述】:
使用 WSL2/Ubuntu18 我无法让 VSCode NodeJs 调试器在任何 NodeJs 应用程序的断点处停止。当我启动调试器时,它会运行(我可以在集成终端上看到输出)但断点会被忽略。
simple.js 文件,第 3 行有一个断点:
launch.json 设置为:
{
"version": "0.2.0",
"configurations": [
{
"name": "NodeJs: Launch Program",
"program": "${file}",
"request": "launch",
"skipFiles": [
"<node_internals>/**"
],
"type": "pwa-node",
"console": "integratedTerminal"
}
]
}
当我按 F5 或单击 VS Code 上的“开始调试”按钮时,应用程序运行并在集成终端上显示以下内容:
/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 行停止:
/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 Code 版本。
更新:
您可以在 GitHub 上关注问题:https://github.com/microsoft/vscode/issues/113283
【问题讨论】:
标签: node.js debugging visual-studio-code