不能不会的远程调试技巧


image.png


这一篇是很早之前的文章,此次从新发布,是想将几个调试工具集中讲一下。有的朋友已经看过,可是没有关系。
服务器

通常状况下,咱们开发调试都是在我的PC上完成,遇到问题,开一下 Pycharm的调试器,很快就能找到问题所在。app

可有些时候,项目代码的运行会对运行环境有依赖,必须在部署了相关依赖组件的服务器上才能够运行,这就直接致使了咱们不能在本地进行调试。ssh

对于这种特殊的场景,就我所知,有以下两种解决方案:ide

  • pdb工具

  • Remote Debugspa

本篇文章会先讲第二种方案,它是 专业版Pycharm 才开放的功能,须要你安装专业版的Pycharm,具体升级破解步骤,请自行 Google,这里不涉及。3d

远程调试的意思,是让咱们能够在咱们在 PC 上用 Pycharm 的图形化界面来进行调试代码,它和本地调试没有太大的区别,原来怎么调试的如今仍是怎么调试。调试

区别就在于,本地调试不须要事前配置,只要你的代码准备好了,随时能够开始 Debug 。而远程调试须要很多前置步骤,这些设置过程,也是本文的主要内容。blog

1. 新建一个项目

首先,要在Pycharm中新建一个空的项目,后面咱们拉服务器上的项目代码就会放置在这个项目目录下。我这边的名字是NOVA,你能够本身定义。ip

image.png

2.  配置链接服务器

Tools->Deployment->configuration

image.png


添加一个Server

  • Name:填你的服务器ip

  • Type:设定成SFTP

点击OK后,进入以下界面,你能够按个人备注,填写信息:

  • SFTP host:公网ip

  • Port:服务器开放的ssh端口

  • Root path:要调试的项目代码目录

  • Username:登录服务器所用的用户

  • Auth type:登录类型,这里选密码

  • Password:登录密码,能够选择保存密码

这里请注意,要确保你的电脑能够ssh链接到你的服务器,不论是密钥登录仍是密码登录,若是开启了白名单限制要先解除。

image.png

填写完成后,切换到Mappings选项卡,在箭头位置,填写\

image.png

以上服务器信息配置,所有正确填写完成后,点击OK

接下来,咱们要链接远程服务器了。
Tools 
-> Deployment -> Browse Remote Host

image.png

3.  下载项目代码

若是以前填写的服务器登录信息准确无误的话,如今就能够看到远程的项目代码。

选择下载远程代码要本地。

下载完成提示。

如今的IDE界面应该是这样子的。


4. 下载远程解释器

为何须要这步呢?

远程调试是在远端的服务器上运行的,它除了依赖其余组件以外,还会有一些不少Python依赖包咱们本地并无。

进入 File -> Settings
按图示,添加远程解释器。

image.png

填写远程服务器信息,跟以前的同样,再也不赘述。

image.png

点击OK后,会自动下载远程解释器。若是你的项目比较大,这个时间可能会比较久,请耐心等待。

5. 添加程序入口

由于咱们要在本地DEBUG,因此你必定要知道你的项目的入口程序。若是这个入口程序已经包含在你的项目代码中,那么请略过这一步。

若是没有,就请本身生成入口程序。

好比,我这边的项目,在服务器上是以一个服务运行的,服务的入口是Service文件:/usr/lib/systemd/system/openstack-nova-compute.service

image.png

看到那个ExecStart没有?那个就是咱们程序的入口。
咱们只要将其拷贝至咱们的Pycharm中,并向远程同步该文件。

image.png

6. 调试前设置

开启代码自动同步,这样,咱们对代码的修改Pycharm都能识别,而且为咱们提交到远程服务器。

开启 Gevent compatible,若是不开启,在调试过程当中,极可能出现没法调试,或者没法追踪/查看变量等问题。


7.  开始调试代码

在你的程序入口文件处,点击右键,选择Debug便可。

若是你的程序入口,须要引入参数,这是常常有的事,能够的这里配置。

配置完点击保存便可。

image.png
相关文章
相关标签/搜索