我的项目设置是这样的:我在本地构建项目(typescript、express、node),然后创建一个 docker,将其复制到其中。我用docker-compose up
.
在 docker 中,此命令用于在调试模式下启动应用程序:
nodemon --exec \"node --inspect=0.0.0.0:9229 build/service.js\" --legacy-watch --watch build
这里使用的端口映射到不同的端口docker-compose.yml
ports:
- 9000:3030 #app port
- 8999:9229 #debugger port
我的launch.json
包含这个相关的块:
{
"name": "Attach to service",
"port": 8999,
"address": "localhost",
"remoteRoot": "/app/build",
"localRoot": "${workspaceFolder}/build/",
"protocol": "inspector",
"restart": true,
"sourceMaps": true,
"type": "node",
"request": "attach",
},
所有这一切都在一段时间前奏效了。它不再。所以我下载了多个版本的 Visual Studio 代码,试图找出问题所在。它从 2021 年 4 月的版本到 2021 年 7 月一直在工作。2021 年 8 月打破了它。
问题是 - 没有断点被绑定。调试器仍然通过调试端口连接到应用程序(我可以在服务控制台输出中看到),但是没有绑定断点,所以没有命中断点。
在更改日志中:https ://code.visualstudio.com/updates/v1_60#_javascript-debugging 相关行(可能):旧节点调试器已消失
我确实尝试安装那个
https://marketplace.visualstudio.com/items?itemName=ms-vscode.node-debug但type: "legacy-node"
它没有什么不同..
类型:“pwa-node”从来没有为我工作过。
所以我的问题是 - 有什么问题?