You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode能否附加到远程Python进程,基于本地源码调试?

可以通过VSCode实现Python远程进程附加调试

完全可以实现你要的功能——将本地Python源码附加到远程运行的.par进程,进行断点、单步执行等调试操作,VSCode的Python调试工具链支持该特性,具体步骤如下:

1. 让远程.par进程开启调试监听

首先需要确保远程运行的.par进程启动调试服务。你需要在打包成.par之前的本地源码中加入调试监听代码(使用debugpy,这是官方推荐的Python调试库,原ptvsd已并入其中):

import debugpy
# 监听所有网卡的5678端口(端口可自定义)
debugpy.listen(('0.0.0.0', 5678))
# 若需要等待调试器连接后再继续执行进程,添加下面一行
# debugpy.wait_for_client()

将修改后的源码重新打包为.par文件,然后在远程机器上启动该.par进程,此时进程会处于监听状态,等待调试器连接。

2. 配置VSCode的远程调试会话

在本地VSCode中打开对应的源码项目,配置调试文件:

  • 打开「调试」面板,点击「创建launch.json文件」,选择「Python」环境。
  • 将自动生成的配置替换为远程附加配置:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Remote Attach",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "远程机器的IP地址",
                "port": 5678  // 要和远程监听的端口一致
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",  // 本地源码的根目录
                    "remoteRoot": "/远程进程对应的代码路径"  // 需与远程进程运行时的代码路径匹配,比如.par解压后的临时目录
                }
            ],
            "justMyCode": true  // 仅调试自己的代码,若需调试依赖库可设为false
        }
    ]
}

关键注意事项:pathMappings必须正确映射本地源码和远程进程的代码路径,否则断点会无法命中。可以在远程进程中通过print(__file__)获取实际运行的代码路径。

3. 启动调试并使用

  • 在本地源码的目标位置设置断点。
  • 在VSCode的调试面板中选择「Python: Remote Attach」,点击启动按钮。
  • 连接成功后,即可像调试本地进程一样使用单步执行、查看变量、断点调试等功能。

额外注意点

  • 确保远程机器的防火墙开放了调试所用的端口(如5678),本地机器能正常访问该端口。
  • 本地源码必须和远程运行的.par包内的代码完全一致,包括代码版本、内容,否则会出现断点错位的问题。

内容的提问来源于stack exchange,提问作者Ames ISU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:43:40