查看原文
其他

让代码调试不再难 - pdb

Python编程时光 Python编程时光 2020-08-21

点击上方“Python编程时光”,选择“ 设为星标 

第一时间关注Python技术干货!



上一篇文章,讲的是 Pycharm 的远程调试,若你还没学会,可以点击这里进行查看:

不能不会的远程调试技巧


Pycharm 的图形化界面虽然好用,但是在某些场景中,是无法使用的。而 Python 本身已经给我们提供了一个调试神器 -- pdb,可能你还不知道它,为了讲解这个神器,我写了这篇文章来帮助你轻松的理解它。


1. 准备文件


在调试之前先将这两个文件准备好(做为演示用),并放在同级目录中。


utils.py


pdb_demo.py


2. 进入调试模式


进入调试模式,方法很简单,就像正常执行python脚本一样,只是多加了-m pdb:python -m pdb pdb_demo.py


使用这个方式进入调试模式,会在脚本的第一行开始单步调试。

对于单文件的脚本并没有什么问题,如果是一个大型的项目,项目里有很多的文件,使用这种方式只能大大降低我们的效率。


一般情况下,都会直接在你需要的地方打一个断点,那如何打呢?


只需在你想要打断点的地方加上这两行。

import pdb
pdb.set_trace()


然后执行时,也不需要再指定-m pdb了,直接python pdb_demo.py,就会直接在这个地方暂停。



3. 调试指令


熟悉 Pycharm 的人都知道,我们执行下一步是F8,执行到下一个断点是 alt+F9


同样的,pdb 也需要你更多记这样的命令。


当你看到pdb模式的标识符(Pdb) 时,就可以输入这样的命令。


我在这里将这些指令按使用频度分为三个等级。


最常用


点击查看大图

有时使用


点击查看大图


几乎不用

点击查看大图


其上全部是我翻译自官方文档,原文在这里:

https://docs.python.org/3/library/pdb.html


其实你大可不必死记这些命令,忘记的时候,只要敲入help并回车,就可以看到所有的指令了。


4. 开始调试


这里就几个最常用的指定,来演示一遍。



这个调试过程,我加了些注释,你应该能够很轻易地理解这种调试方式。


今天pdb的调试内容大概就是这些,你学会了吗?


看到上面截图的时间了吧?是的,又是一个深夜写的文章。希望对你会有所帮助。


点击 阅读原文 ,可跳转至本文我的博客地址,可方便你在电脑上查看实践。


-END-



推荐阅读


不能不会的远程调试技巧

你抢不到的火车票,我帮你!

写几个 Python 进阶必备函数

为何无法使用 ip 访问网站?



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存