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

VS Code远程服务器Python脚本调试问题咨询

远程服务器Python调试问题解答

1. launch.json的正确存放位置

当使用VS Code的Remote SSH扩展连接远程服务器开发时,launch.json必须存放在远程服务器上你打开的工作目录下的.vscode文件夹中。本地用户目录下的.vscode是针对本地工作区的配置,和远程开发环境无关,远程调试的配置需要放在远程工作区的.vscode里才能生效。

2. 调试工具栏(Ctrl+Shift+D)的正确使用及Attach模式问题

关于SSH隧道

你手动执行的ssh -2 -L 5678:localhost:5678 user@remoteserver是多余的——VS Code的Remote SSH扩展已经自动完成了远程端口到本地的转发,不需要手动建立隧道。

pathMappings配置

当通过Remote SSH挂载远程目录后,VS Code的${workspaceFolder}已经对应远程的工作目录,此时pathMappings需要确保本地VS Code看到的文件路径和远程实际路径对应:

  • localRoot设为${workspaceFolder}(VS Code本地显示的远程工作区路径)
  • remoteRoot设为远程服务器上工作目录的绝对路径(比如/home/yourname/your_project,不要用相对路径.,避免路径解析错误)

Attach模式调试步骤

Attach模式需要先在远程服务器上启动带debugpy监听的脚本,再在VS Code中触发调试:

  1. 在远程服务器的终端(VS Code内置的远程终端即可)执行:
    python -m debugpy --listen 5678 --wait-for-client your_script.py
    
    这条命令会让脚本在debugpy监听5678端口后暂停,等待调试器连接
  2. 在VS Code的调试面板(Ctrl+Shift+D)选择「Python Debugger: Attach」配置,点击启动按钮即可连接调试

3. 调试带参数的Python脚本

不需要额外安装扩展,直接修改launch.json中的启动配置,添加args字段即可。比如针对你的python myScript.py --file=f.json命令,修改后的配置如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Attach",
            "type": "debugpy",
            "request": "attach",
            "port": 5678,
            "host": "localhost",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "/home/yourname/your_project"
                }
            ]
        },
        {
            "name": "Python Debugger: Python File with Args",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "args": ["--file=f.json"]
        }
    ]
}

如果需要动态输入参数,也可以使用${command:pickArgs}变量,调试时会弹出输入框让你填写参数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:50:00