Python中如何在远程主机上进行代码调试
刚刚在服务器上调试自己的代码,所以提起了这个话题,个人一般习惯是打 log 来 debug
Python中如何在远程主机上进行代码调试
10 回复
pycharm 可以直接 remote debug
对于远程调试,我一般用 debugpy,这是 VS Code 官方推荐的方案。首先在远程主机上安装并启动调试服务器:
# 在远程主机上安装
pip install debugpy
# 启动调试服务器,监听5678端口
python -m debugpy --listen 0.0.0.0:5678 --wait-for-client your_script.py
然后在本地 VS Code 中配置 .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {
"host": "your_remote_ip",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/path/to/remote/project"
}
]
}
]
}
启动调试后就能像本地一样设断点、单步执行了。如果代码路径不一致,pathMappings 配置很关键。
还有个更直接的方法是用 SSH 端口转发,把远程的调试端口映射到本地:
ssh -L 5678:localhost:5678 user@remote_host
这样本地直接连接 localhost:5678 就行,不用改 VS Code 配置。
如果不用 VS Code,PyCharm 也支持类似的远程调试,配置原理差不多。
总结:用 debugpy 最省事。
ssh tunnel 到 remote mysql
然后本地 PyCharm 直接走调试?
pycharm 理论上应该跳不过堡垒机?应该只能直连服务器?
#3 端口转发到本地就好了
屏幕翻动太快吗? tmux ?
4#正解,端口转发一下就好了
用 log 比较清晰,因为还可以定义行数,之后可能会尝试一下 pycharm 的 remote debug 工具
楼上正解,端口转发一下就好
远程调试,搭配 sourcemaps

