要使用VSCode附加模式调试Node.js或Python进程,需先以可调试方式启动程序。对于Node.js,通过–inspect系列参数开启调试端口(如9229),并在launch.json中配置”request”: “attach”及对应端口;对于Python,需安装debugpy,在代码中调用debugpy.listen(5678)并配置launch.json的”type”: “python”和连接地址端口,随后在VSCode中选择对应配置即可连接调试。

要使用 VSCode 以附加(Attach)模式调试正在运行的 Node.js 或 Python 进程,需要先确保程序是以可调试方式启动的,然后在 VSCode 中配置对应的 launch.json 文件来连接到该进程。
Node.js:附加到正在运行的进程
Node.js 从 v8 开始支持 Inspector 协议,可通过 –inspect 标志启用调试端口。
1. 启动 Node.js 应用时开启调试端口:
运行应用时添加 –inspect 或 –inspect-brk 参数:
立即学习“Python免费学习笔记(深入)”;
node --inspect app.js:监听 9229 端口,允许附加调试器node --inspect=9230 app.js:指定自定义端口node --inspect-brk app.js:启动时暂停,等待调试器连接
2. 配置 VSCode 的 launch.json:
在项目根目录下的 .vscode/launch.json 中添加:
{ "version": "0.2.0", "configurations": [ { "name": "Attach to Node.js", "type": "node", "request": "attach", "port": 9229, "address": "localhost", "restart": true, "skipFiles": [ "/**" ] } ]}
如果使用了非默认端口(如 9230),请修改 port 值。
3. 启动调试:
在 VSCode 中选择 “Attach to Node.js” 配置并启动调试器,即可连接到正在运行的进程,设置断点并检查变量。
Python:附加到正在运行的进程(使用 debugpy)
Python 官方推荐使用 debugpy 包实现调试附加功能。
1. 安装 debugpy:
在目标环境中安装 debugpy:
pip install debugpy
2. 修改 Python 脚本,嵌入调试服务器:
在代码开头附近加入以下内容:
import debugpydebugpy.listen(5678)print("⏳ Waiting for debugger attach...")debugpy.wait_for_client() # 可选:等待连接后再继续
或直接后台监听不阻塞:
import debugpydebugpy.listen(5678)
3. 正常运行 Python 脚本:
例如:
python app.py
此时脚本会监听 5678 端口等待调试器连接。
4. 配置 VSCode 的 launch.json:
确保已安装 Pylance 和 Python 扩展,然后在 .vscode/launch.json 中添加:
{ "name": "Attach to Python", "type": "python", "request": "attach", "connect": { "host": "localhost", "port": 5678 }, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ]}
5. 启动调试:
在 VSCode 中选择 “Attach to Python” 配置,点击启动。连接成功后即可设置断点、查看调用栈。
常见问题与注意事项
确保调试端口未被占用,防火墙未阻止连接Node.js 多进程或集群模式下,每个 worker 需独立调试端口Python 使用 Docker 时,需映射 debugpy 端口(如 -p 5678:5678)并调整 host 配置附加调试无法捕获连接前已执行的代码,关键逻辑前建议加 wait_for_client()
基本上就这些。只要进程开启了调试支持,VSCode 就能通过 Attach 模式连接进去。
以上就是如何配置VSCode以附加(Attach)模式调试一个正在运行的Node.js或Python进程?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/202659.html
微信扫一扫
支付宝扫一扫