PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

作者:二的平方 时间:2022-01-22 19:54:26 

一、介绍

Python远程调试,即在远程机器上运行python代码在本地进行调试,之前文章里的方式方法已经out,现在更新为当前版本已经成功实现远程调试的新内容。

依赖环境:

  • 本地Pycharm:PyCharm 2022.1.3(Professional Edition)

  • IP:192.168.30.111

  • 远程Ubuntu:VMware Ubuntu 20.04.03

  • IP:192.168.30.132

二、安装

远程主机安装:pydevd-pycharm库,且需要安装指定版本:

pip3 install pydevd-pycharm~=221.5921.27 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

三、配置

3.1 PyCharm端配置

1.点击PyCharm菜单栏:Edit Configurations

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

2.在Run/Debug Configurations中点击+加号按钮,在弹出列表中选择Python Debug Server

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

3.需要配置字段如下:

  • Name:ubuntu python

  • IDE host name:192.168.30.111

  • Port:2233

4.点击OK保存该配置

至此,本地端PyCharm配置完成,配置无误可以在菜单栏看到ubuntu python这个配置,且图标无正常状态,如果上述配置项有误,则会展示打红叉标记的图标,比如配置错误的端口号。

3.2 Ubuntu端配置

远程环境需要的配置主要是修改被调试的代码文件,在代码中增加相关配置:

  • 被调试代码文件:/home/test/super2.py

  • 需要增加的配置:

import pydevd_pycharm
pydevd_pycharm.settrace('192.168.30.111', port=2233, stdoutToServer=True, stderrToServer=True)

class A:
   def __init__(self):
       self.n = 2

def add(self, m):
       print('self is {0} @A.add'.format(self))
       self.n += m
class B(A):
   def __init__(self):
       self.n = 3

def add(self, m):
       print('self is {0} @B.add'.format(self))
       super().add(m)
       self.n += 3
b = B()
b.add(2)
print(b.n)

需要导入远程调试库,配置信息需要和PyCharm端配置的内容保持一致:

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

至此,远程被调试的代码需要的配置完成。

四、实际调试

1.在本地PyCharm端,打开调试服务,即点击菜单栏中ubuntu python后的Debug ubuntu python按钮:

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

2.启动成功,会出现等待连接的提示信息:

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

3.此时,我们需要在Ubuntu端,启动被调试的代码:python3 super2.py,运行成功后Ubuntu端不会里面执行代码,需要等待远程PyCharm端开始调试过程,才会执行代码并打印结果,而PyCharm端会在Console下展示连接成功的提示:Connected to pydev debugger (build 221.5921.27)

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

4.此时我们会看到PyCharm弹出了一个提示,这个提示里的内容就是我们调试的是远程文件,而本地没有与之对应的文件,可以通过提示给出的三个解决方案进行解决,这里我选择了:Download选项

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

5.最后开始执行具体的调试即可:

PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

来源:https://blog.csdn.net/zhaoxz1985/article/details/126767888

标签:PyCharm,Python,远程调试
0
投稿

猜你喜欢

  • 960 Grid System 基本原理及使用方法

    2009-02-28 13:35:00
  • Ajax:拥抱JSON,让XML走开

    2007-10-12 20:01:00
  • Python一行代码快速实现程序进度条示例

    2022-07-07 07:22:26
  • 详解Python中的三元运算

    2021-02-22 12:27:26
  • asp中的rs.open于conn.execute的区别

    2009-10-29 12:12:00
  • 如何将服务器上的python代码通过QQ发送回传信息(附实现方法)

    2022-04-24 04:27:08
  • Ubuntu下Anaconda和Pycharm配置方法详解

    2022-06-16 21:11:43
  • 基于PyQt5制作一个PDF文件合并器

    2023-04-27 07:50:58
  • python实现通过队列完成进程间的多任务功能示例

    2022-06-25 03:49:27
  • MDB格式网站文件如何解压

    2008-07-02 12:48:00
  • .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别介绍

    2023-07-13 03:38:13
  • python将音频进行变速的操作方法

    2023-10-05 19:04:34
  • Pandas数据查询的集中实现方法

    2021-08-17 10:32:27
  • python学习笔记之列表(list)与元组(tuple)详解

    2022-04-13 00:15:13
  • python中序列的逆序方式

    2023-12-12 19:49:07
  • PHP之使用swoole统计在线人数和ID案例讲解

    2023-06-21 21:12:57
  • Golang控制通道实现协程等待详解

    2023-07-21 16:23:39
  • Python必备技巧之字符数据操作详解

    2021-05-07 10:22:20
  • 数字人组件反写[asp组件开发实例2]

    2009-06-09 13:15:00
  • 利用Python实现普通视频变成动漫视频

    2023-02-05 05:13:59
  • asp之家 网络编程 m.aspxhome.com