Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
如何配置VSCode以附加(Attach)模式调试一个正在运行的Node.js或Python进程?_创想鸟

如何配置VSCode以附加(Attach)模式调试一个正在运行的Node.js或Python进程?

要使用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 以附加(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

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Java字符串加密:解决循环中提前返回导致的数字转换问题
上一篇 2026年9月12日 21:30:19
Linux如何遍历目录树tree命令使用方法
下一篇 2026年9月12日 21:34:16

相关推荐

发表回复

登录后才能评论
关注微信