使用 VSCode 在 Docker 容器中调试 Typescript 文件
Posted
技术标签:
【中文标题】使用 VSCode 在 Docker 容器中调试 Typescript 文件【英文标题】:Debug Typescript files in Docker container with VSCode 【发布时间】:2018-12-12 04:43:37 【问题描述】:我已经为此苦恼了几个小时,似乎无法在任何地方找到解决方案 -
我在一个用 Typescript 编写的 Docker 容器中设置了一个简单的 Node API,我正在尝试使用 VSCode 附加到它以进行调试。我能够连接到它(并且调试控制台会显示它)但是一旦我尝试设置断点,我就会返回Breakpoints set but not yet bound
。
这是我的 launch.json
"version": "0.2.0",
"configurations": [
"name": "Attach to Docker",
"type": "node",
"request": "attach",
"port":9229,
"restart": true,
"sourceMaps": false,
"localRoot": "$workspaceRoot",
"remoteRoot": "/api",
"protocol" : "inspector",
"trace": "verbose"
]
带有调试器的终端输出
web_1 | Debugger listening on ws://0.0.0.0:9229/44aca479-580c-4ecb-a104-cf80f9041538 │
web_1 | For help, see: https://nodejs.org/en/docs/inspector
web_1 | Debugger attached.
节点应用程序以node --inspect=0.0.0.0:9229
启动。我尝试运行一些 Mocha 测试,但我之前设置的所有断点都被完全忽略了。谁能帮我看看?这是我目前的repo,但我将努力在 Docker 中设置一个简单的 TS 应用程序,以尝试缩小可能性。
谢谢!
【问题讨论】:
不确定这是否有帮助,或者我是否正确阅读了您的问题...但我只是将我的(节点)容器卷映射到包含我的 vscode 的(本地)驱动器? 不太确定我是否关注@Intellidroid 在我的 docker compose 文件中,我会将卷设置为映射到我的代码所在的本地文件夹......所以“卷:./vscode-nodeserver-files:/directory-in-容器” 如何运行摩卡测试?我猜运行它们的包脚本与启动 api/应用程序的包脚本不同,因此不会检查 mocha 脚本。 【参考方案1】:我希望这更有意义。 如果您查看服务器目录中的 Dockerfile,然后查看我在撰写文件上所做的操作
node container
【讨论】:
哦!是的,我的 docker-compose 里有这个:这个? github.com/andrewgu12/KSA-KExpo/blob/…以上是关于使用 VSCode 在 Docker 容器中调试 Typescript 文件的主要内容,如果未能解决你的问题,请参考以下文章
vscode 远程连接 docker 容器进行 C++ 代码调试实践
如何使用 VS Code 在 Docker 容器中远程调试 python 代码
VsCode远程调试,更改pythonpath指向docker容器的python解释器