今天推荐一个Python调试工具可以让你的调试更快更方便,叫ipdb

推荐ipdb主要原因:语法高亮和自动补全,因为很多长变量每次打起来很费劲,这个可以大大提高你的效率,避免出错。

知道的朋友都知道我一般操作就是Pycharm + Vim的模式,原因我解释过了,既能使用Vim编辑器之神的配置,也能用到Pycharm这种IDE的方便。

操作如下:

安装使用一般就是

pip install ipdb,相信大家没啥问题,这里我们可以通过区分环境在本地或者测试环境加上ipdb这个包,其他地方不加,降低线上其他包的干扰。

其实简单调试我个人一般就是日志进行解决(关于日志之前文章提过,KIDS和ELK的形式,大家可以去看一下从Kids到ELK Stack集中式日志收集之路),复杂一点的我在调试的时候一般输入ipdb关键词,自动弹出import ipdb;ipdb.set_trace(),Pycharm配置如下。

当然还有更简单的方式直接在Pycharm打断点执行什么的,由于我日常工作要切换到服务器上面使用Vim进行编辑操作的,这个是没法直接断点,索性就直接上这种方式。

常用的命令

关于ipdb 常用的操作有如下几个。

p 打印 n 下一步 c 继续 s 进入子函数程序 l 查看当前执行 b 中断指定到某一行 h 帮助(新手可以看看)

由于ipdb和pdb一致性,为了方便大家更好理解学习,我通过dash截图了一张pdb的cheatsheet出来。

今天的分享就到这儿,最后如果看到身边同学还在使用pdb这种方式,赶紧推荐他使用ipdb吧,大家喜欢的话点赞分享就是对我的支持。


你必须拥有的Python调试神器相关推荐

  1. python调试神器_你必须拥有的Python调试神器

    今天推荐一个Python调试工具可以让你的调试更快更方便,叫ipdb. 推荐ipdb主要原因:语法高亮和自动补全,因为很多长变量每次打起来很费劲,这个可以大大提高你的效率,避免出错. 知道的朋友都知道 ...

  2. 清华校友打造Python调试神器

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 写代码 ...

  3. Debug无忧!清华校友打造Python调试神器:反向追踪变量、数据流等 | 开源

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 写代码时提笔千行,debug时却低效抓狂-- 几乎每个编程者都逃不了这样的纠结. 通过编译器一行行地去找bug,太浪费时间. 所以,一位清 ...

  4. 一个神级般的 Python 调试神器

    贾浩楠 发自 凹非寺 ,  量子位 报道 写代码时提笔千行,debug时却低效抓狂-- 几乎每个编程者都逃不了这样的纠结. 通过编译器一行行地去找bug,太浪费时间. 所以,一位清华校友.谷歌工程师l ...

  5. Debug无忧!清华校友打造Python调试神器

    本文转载自 QbitAI,作者 贾浩楠 写代码时提笔千行,debug时却低效抓狂-- 几乎每个编程者都逃不了这样的纠结. 通过编译器一行行地去找bug,太浪费时间. 所以,一位清华校友.谷歌工程师la ...

  6. 谷歌工程师开源:Python 调试神器 Cyberbrain

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 来源:Python猫 曾多次在<捕蛇者说>播客听到 laike9m 大佬分享他的 Cyberbra ...

  7. python调试神器_python调试神器PySnooper的使用

    相信很多小伙伴平时写python的时候都是需要调试程序的,出问题了,需要了解函数内部是怎么跑的,而这个时候很多人都会想到在疑惑的地方使用print函数来打印一下参数来调试.虽然用print也是不失为是 ...

  8. python调试神器_Python里三个最高逼格的调试神器

    调试是开发过程中不可避免的一个环节,在Python中我们使用print.logging.assert等方法进行调试既简单又实用,但毕竟有其局限性.今天这篇文章为大家带来三个工具,其中有Python的内 ...

  9. python调试神器!今天你吃冰淇淋了吗?

    相信大部分人学习Python,肯定会用print()这个内置函数,来调试代码的. 那么在一个大型的项目中,如果你也是使用print来调试你的Python代码,你就会发现你的终端有多个输出. 那么你便不 ...

最新文章

  1. php 开发restful api,用PHP创建RESTful API?
  2. R语言安装.tar.gz包
  3. 学习笔记第三十一节课
  4. JAVA中获取当前运行的类名,方法名,行数
  5. 当要将其他类型转成String类型时候 看String的方法
  6. LeetCode:跳跃游戏【55】
  7. IMP-00002: 无法打开 D:\orcldat\test_20111024.dmp 进行读取,rman备份
  8. java能打开mob吗_使用 Java添加KeyMob手机聚合平台教程
  9. Mac brew报错Error: The following directories are not writable by your user: /usr/local/share/man/man5
  10. GIt帮助文档之创建新的Git仓库——现有目录下,通过导入所有文件来创建
  11. bShare一个强大的网页分享插件
  12. 【Java算法】Java抽奖算法,适用于各种抽奖
  13. 链路聚合的介绍以及配置
  14. 【零散知识】最大类间方差法(大津法,Otsu)
  15. 夜神模拟器连不上android studio了
  16. 湖北湖南广州计算机科学大学排行,校友会2018中国大学计算机类专业排名
  17. 水果之王之猕猴桃-系列五(孕期可以吃猕猴桃吗?)
  18. uWSGI +Flask+torch Cannot re-initialize CUDA in forked subprocess
  19. Absible#Ansible-Playbook的任务控制
  20. 【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作

热门文章

  1. python编程lcd显示_Python api.lcd方法代码示例
  2. TCP与UDP之间的区别
  3. C/C++中extern关键字
  4. python to_excel_Pandas DataFrame.to_excel()用法详解
  5. mysql c where_mysql where条件语句优化笔记
  6. 大数据量表中,增加一个NOT NULL的新列
  7. 【C++】unordered_map 使用方法
  8. Oracle 内存参数设置
  9. 〔转〕Word域的应用和详解5_索引和目录
  10. jQuery 1.6 源码学习(六)——core.js[6]之jQuery对象/数组操作相关方法