工欲善其事,必先利其器

首先你需要选择一个专业版本的pycharm,社区版本不支持远程配置功能,专业版下载地址:Pycharm 2023

双击程序进行安装,30天内免费试用,如果想要永久使用,办法你懂的,此处略。

远程代码同步配置

选择【tools】 中的 【Deployment】之后选择【Configuration】


点击+号,建议选择SFTP方式进行远程同步添加,

点击如下位置:

输入用户名、密码,点击【Test Connection】进行连接尝试,成功则继续。

配置好需要同步的本地路径和远程路径,远程路径后面就是程序远程调试的目录。

下面选择需要同步的项目工程目录,右键选择【Deployment】-> 【Upload to root@XXX】

不出意外将会在Pycharm最下面出现进度条:

在右侧可以查看远程的目录:

远程Debug

【File】-> 【Settings】-> 【Python Interpreter】选择【add interpreter】

选择 【On SSH】

在这个页面你可以选择virutal env环境也可以是系统解释器,看需要 如我选择系统解释器。

至此配置已经完成。

远程调试的原理是什么呢?

如何远程调试,其实理解起来也不费劲, 你需要使用远程的python解释器执行远程的程序,而远程的程序需要你本地同步一份过去。这就需要我们
1、配置远程代码同步
2、配置远程解释器
3、执行本地的代码,同时会调用远程解释器去执行远程对应路径代码。

那他为什么能远程debug调试,作用的断点是如何生效的呢?
我们启用远程调试,发现在命令执行前会有这个信息显示:

/usr/bin/python3 /root/.pycharm_helpers/pydev/pydevd.pyConnected to pydev debugger (build 233.13135.95)

原来是使用了https://github.com/fabioz/PyDev.Debugger工具进行远程调试的,具体原理后面有时间来剖析,猜一下应该是将本地断点同步到远程,故可以进行远程调试。

参考:

  1. https://www.cnblogs.com/yssjun/p/9824823.html
  2. https://zhuanlan.zhihu.com/p/36843200
  3. http://cn.voidcc.com/question/p-wmcjvaxe-np.html