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

VSCode远程服务器中指定终端启动Python调试器的问题

解决VSCode远程集群交互式作业中Python调试断点不生效的问题

核心方案:通过launch.json配置远程附加调试,配合debugpy的等待模式启动脚本


步骤1:在交互式作业终端中启动带调试等待的脚本

先通过qsub -I(根据集群资源需求添加参数,比如-l nodes=1:ppn=4等)进入交互式作业终端,切换到脚本所在目录后执行:

python -m debugpy --listen 0.0.0.0:5678 --wait-for-client ./myscript.py
  • --wait-for-client是关键:让脚本暂停执行,直到VSCode调试器连接,避免脚本直接跑完导致断点无效。

步骤2:配置VSCode的launch.json

打开VSCode调试面板(快捷键Ctrl+Shift+D),点击"创建launch.json文件",选择"Python"->"Remote Attach"模板,修改配置如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote Attach to Job",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "/your/remote/script/path"
                }
            ],
            "justMyCode": false
        }
    ]
}
  • host填localhost:VSCode已通过远程连接绑定服务器,此处localhost即作业终端所在节点。
  • pathMappings必须正确:将本地VSCode工作区路径映射到远程脚本的实际路径,确保断点对应到远程脚本的正确行。
  • justMyCode设为false:如需调试第三方库代码可开启,仅调试自研代码可保留默认true。

步骤3:启动调试

在VSCode调试面板选择配置好的"Remote Attach to Job",点击启动按钮。脚本会恢复执行,设置的断点即可正常触发。


注意事项

  • 确保作业终端的Python环境与VSCode远程会话使用的解释器一致,避免环境差异导致调试异常。
  • 确认作业节点的5678端口允许服务器内部连接,交互式作业节点一般默认开放。
  • 调试matplotlib可视化代码时,建议添加plt.show(block=True),防止绘图窗口在调试时自动关闭。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:43:28