如何配置VS Code作为服务端用debugpy实现嵌入式Python远程调试
需求可行性说明
你描述的场景完全可以实现,VS Code的debugpy支持Python代码作为客户端主动连接已启动的调试服务端,和PyCharm专业版的对应功能逻辑一致。
具体配置步骤
1. VS Code(调试服务端)配置
- 确认已安装VS Code官方Python扩展
- 打开工作区下的
.vscode/launch.json文件,新增如下调试配置:
{ "version": "0.2.0", "configurations": [ { "name": "Python: 等待客户端远程连接", "type": "python", "request": "attach", "connect": { "host": "0.0.0.0", "port": 5678 }, "justMyCode": false, "redirectOutput": true } ] }
- 保存配置后,点击VS Code调试面板的启动按钮,此时VS Code会进入端口监听状态,等待Python客户端连接。
2. Python代码(客户端)配置
- 先确认嵌入进程的Python环境中已安装debugpy库,版本尽量与VS Code Python扩展自带的debugpy版本保持一致,避免兼容问题。
- 在你自有Python代码的最开头位置,加入以下代码:
import debugpy # 括号内参数替换为VS Code所在设备的IP、上述配置的监听端口 debugpy.connect(('192.168.3.20', 5678)) # 若需要代码在调试器连接成功后再向下执行,可添加下行 debugpy.wait_for_client()
- 正常触发Python代码运行即可,运行到connect逻辑时会自动连接VS Code的调试服务端。
常见问题排查
- 若连接失败,优先确认VS Code所在设备的对应调试端口未被防火墙拦截,嵌入Python的运行环境可正常访问该IP和端口。
- 若断点无法触发,检查调试配置中
justMyCode已设置为false,若本地VS Code的代码路径和嵌入环境中的代码路径不一致,需要在调试配置中新增路径映射规则,示例如下:
"pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "嵌入环境中代码所在的根目录绝对路径" } ]
内容的提问来源于stack exchange,提问作者Denny Weinberg
相关产品推荐
相关产品推荐

