我正在尝试使用 Visual Studio Code 和 debugpy 执行远程 Python 调试。我正在附加到在 Oracle Linux 服务器上运行的 Python 脚本。我在 Windows 10 计算机上。
遵循的步骤:
- 从我的 Windows 工作站打开 SSH 隧道到 Oracle Linux 服务器
ssh -2 -L 5678:127.0.0.1:5678 <username>@192.168.143.220 -i "C:\Users\<username>\.ssh\id_ed25519"
- 将以下几行放入脚本中:
import debugpy
debugpy.listen(("192.168.143.220", listen))
debugpy.wait_for_client()
- 在调试模式下运行脚本(我有一个虚拟环境,但没有描述)
python3 -m debugpy --listen 5678 email_activity_processing.py
- 回到我的工作站,对 VSCode 运行以下启动配置:
{
"name": "Support Robot Debugging",
"type": "python",
"request": "attach",
"connect" : {
"port": 5678,
"host": "localhost"
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "."
}
]
}
我已经在我的.ssh/config 文件中为该服务器配置了一个声明。
我尝试了在 debugpy.listen() 和 python3 -m debugpy --listen 中使用的地址的几种不同组合。我按照此处的故障排除说明进行操作:https://code.visualstudio.com/docs/remote/troubleshooting。我在 debugpy Github repo 中没有发现任何问题。
远程服务器正在运行 Python 3.11。
对下一步要采取哪些故障排除步骤有什么想法吗?有没有办法从 Visual Studio 代码中生成或查看连接尝试的日志?
答案1
我只是自己设置了这个,但没有直接使用 debugpy。vs code 为我完成了所有工作,我不需要运行任何命令来连接调试器。vs code 为您处理 debugpy。
从开始到结束:
- 安装 remote-ssh 扩展
- 安装后,您会在 vs code 的左下角看到一个绿色图标,它允许我们连接到远程机器。
- 单击后,通过 ssh 命令连接到远程计算机:通过提示符 ssh user@host
- 如果您使用 ssh 密钥,则需要做一些工作,编辑 .ssh/config 文件。添加主机后它应该会弹出。IdentityFile c:/your_id_dsa 文件。您必须将自己设置为具有读/写权限的所有者并删除所有其他权限。
- 一旦连接到远程机器,请为您的文件选择一个位置,创建一个 python 文件或克隆一个 repo,然后尝试“运行/调试”一个 .py 文件。然后,在远程机器上选择您的 python 位置后,它将提示您安装远程调试器。
- vs code 将搜索“@category:debuggers Python”,单击第一个选项“python”上的“install on {remote}”按钮
- 享受