zoukankan      html  css  js  c++  java
  • QGIS 插件开发Debug教程——使用Pycharm

    参考文章:Remote Debugging Guide for Python

    PyQGIS CookBook 16.4. IDE settings for writing and debugging plugins

    Remote Debugging with PyCharm

    一、检查Pycharm版本

    Eclipse+Pydev使用的是pydev进行调试,在Pycharm中我们依然可以使用pydev进行调试。根据Jetbrains的官方文档,Pycharm Community版本不支持Remote Debug。如果想要使用Pycharm的远程调试功能调用Pydev包进行调试,就需要安装Professional版本

    JetBrains全家桶提供了学生授权供学生免费使用。只要使用武大的邮箱在其官网注册一个账号,然后申请学生授权就可以免费使用JetBrains的所有产品。

    参考:https://jingyan.baidu.com/article/acf728fd862d44f8e510a385.html

    二、为Python解释器安装pydevd-pycharm库

    首先在Run/Debug Configurations中选择edit configurations,打开编辑页面。

    image-20200927211512756

    点击+号,选择添加一个Python Debug Server

    image-20200927211642442

    根据右侧的提示,记住需要安装的pydevd-pycharm库的版本号,我这里是202.7319.64

    然后设置IDE host name为localhost或者127.0.0.1,端口Port设置为53100

    2020-09-24_16-55

    打开菜单栏的File->Settings,选择Python Interpreter,可以看到我们之前配置好的Python环境(QGIS自带的python环境)

    image-20200927212058926

    点击旁边的+号,打开Package添加页面,搜索pydevd-pycharm包。

    勾选Specify version,并选择之前我们记住的版本号,202.7319.64。点击Install Package安装pydevd-pycharm包。

    2020-09-24_16-54

    三、调试QGIS插件

    2020-09-24_22-39

    在需要调试的python模块中引入pydevd-pycharm包

    import pydevd_pycharm
    

    并根据需要调试的位置,编写如下语句

    # 其中的'localhost'和port是在Python Debug Server中填写的值
    pydevd_pycharm.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)
    

    该语句相当于一个断点,执行调试的时候会首先在该语句的位置停止,然后才能继续执行代码。

    在Pycharm中点击Debug按钮,控制台中会提示正在等待连接

    2020-09-24_22-37

    现在打开QGIS,使用Plugin Reloader重新加载我们编写的插件,然后运行插件

    image-20200927214125148

    此时,对插件进行操作,就会在我们调用pydevd_pycharm.settrace()的位置停下来(可以看到控制台中已经显示连接到了pydev debugger),就下来就能够使用pycharm的断点调试工具进行正常的调试了。

    2020-09-24_22-56

  • 相关阅读:
    PHP+AJAX 验证码验证用户登录
    2014-05-09 总结
    2014-05-08 总结(补充)
    2014-05-08 总结
    2014-05-07 总结
    14-6-2
    php
    5-23
    PHP
    5-22
  • 原文地址:https://www.cnblogs.com/ssjxx98/p/13780641.html
Copyright © 2011-2022 走看看