pycharm 远程调试

本文介绍了使用 PyCharm 提供的 pydevd 模块进行远程调试的步骤和原理。首先,在远程服务器上安装所需依赖,然后在本地机器上配置监听的 IP 地址和端口号,确保远程计算机可以访问到本地 IP 地址。接下来,在远程计算机的代码中插入特定的代码,其中 IP 地址和端口号需要与 PyCharm 中的监听配置一致。最后,通过 PyCharm 的远程调试模式,将 PyCharm 作为服务端,远程计算机上的应用程序作为客户端,建立连接并进行单步调试。

pycharm 远程调试

https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html

1. 远程服务器安装依赖

下载依赖包

https://pypi.org/project/pydevd-pycharm

1
pip download -d Downloads pydevd-pycharm==221.5921.27

安装依赖包

1
2
3
tar -zxf pydevd-pycharm-221.5921.27.tar.gz
cd pydevd-pycharm-221.5921.27/
python3 setup.py install

查看依赖是否安装成功

1
2
[root@localhost ~]# pip3 list | grep pycharm
pydevd-pycharm 221.5921.27

2. 本地机器的配置

  • Run -> Edit Configurations

Run -> Edit Configurations

Add New Configuration -> Python Remote Debug

填写 Local host namePort,其中 Local host name 指的是本机开发环境的 IP 地址,而 Port 则随便填写一个 10000 以上的即可;需要注意的是,由于远程计算机需要连接至本地开发环境,因此本地 IP 地址应该保证远程可以访问得到。

3. 远程计算机的代码配置

在远程需要调试的代码中插入如下代码:

1
2
import pydevd
pydevd.settrace('10.214.161.179', port=10000, stdoutToServer=True, stderrToServer=True)

其中,IP 地址和端口号要与 PyCharm 中的监听配置保持一致。

4. pycharm 远程调试的原理

在远程调试的模式下,PyCharm(IDE)扮演服务端(Server)的角色,而运行在远程计算机上的应用程序扮演客户端(Client)的角色。正因如此,进行远程调试时,需要先在本地开发环境中设定端口并启动IDE,IDE会对设定的端口开始监听,等待客户端的连接请求;

针对远程调试功能,PyCharm 提供了 pydevd 模块,该模块以 pycharm-debug.egg 的形式存在于 PyCharm 的安装路径中。远程计算机安装该库文件后,然后就可以调用 pydevd.settrace 方法,该方法会指定 IDE 所在机器的 IP 地址和监听的端口号,用于与 IDE 建立连接;建立连接后,便可在 IDE 中对远程在远程计算机中的程序进行单步调试。