↑ 关注 + 星标 ~ 有趣的不像个技术号,后台回复【大礼包】送你2TPython自学资料程序员





pdb 是 Python 自带的库,为 Python 提供了一种交互式的源码调试功能,包含当前调试器应有的功能,包括设置断点、单步调试、查看源码等。其实若是你以前学过 C/C++ 的话,你可能知道 gdb 这个命令行调试工具,若是你以前用过 gdb,那么恭喜你你能够直接用 pdb 了,由于两个用法是同样的。
编程
其实还有一个开源的 Python 调试器 -- ipdb,它和 pdb 的接口是同样的,可是 ipdb 相比于 pdb 多了语法高亮,tab 自动补全等友好功能,在易用性方面作了很大的改进,这个感受就和 Python 和 IPython 同样。微信
关于 pdb 调试和 ipdb 调试的用法,我在之前的文章中也写过,感兴趣的能够看一下:app
Python 调试器,一个优秀开发人员的必备技能包。
机器学习
0x01 断点 + 单步调试编程语言
这个更多的是在图形界面下的调试,不少 IDE 都支持 Python,调试功能都很完善,这里我主要介绍在 Pycharm 下的调试,毕竟 Pycharm 能够说是当前最好用的 Python IDE。工具
断点
单元测试
在断点这个地方,主要分为两步:「找断点」和「打断点」。
学习
找断点,就是你想调试的代码块的第一行代码便可,也就是一个断点接足够了,找到之后就能够打断点了。可能有同窗就有这么一个问题:
我都不知道是哪部分出了问题,我哪知道我要调试哪段代码?
好像有点道理,不要慌,问题不大。首先你在关键的代码位置上 print,而后经过分析 print 的值来缩小范围,固然这个过程你要稳住,可能须要重复屡次,通常这样就能够将范围缩小到一个比较完整的功能代码块中,而后就打断点好了。
因此知道为啥叫“打”断点了吧,谁让它那么难找...
下面来讲打断点的方法,就是单击目标代码的行号右边空白处,而后出现一个红红的圈,就证实打断点成功了,请看下图:
单步调试
断点打完了,那么就该「单步调试」了。
调试的方法很是简单,就是在当前的 py 文件内部点鼠标右键,单击“Debug xxx”(xxx 是 py 文件名):
此时 Pycharm 会调出一个控制台,这个控制台大概分为显示内容的区域和工具区域:
其中工具区域有两个面板:Debugger 和 Console。对于 Debugger 面板,它的内容是在内容区域显示,显示的为程序执行过程当中的变量及细节;Console 面板则是输出数据显示的位置。
对于咱们的代码,若是到调试状态,该行代码就处于一个冻结的状态,在点击"按步操做"以后,才会一行一行代码执行。
主要用到 Step Over 这个按钮:
而后咱们继续单击 Step Over 按钮,一直到最后一步:
而后你会在 Debugger 面板内看到全部的变量及其值和类型,而后咱们再来单击 Step Over 按钮,让咱们来看一下发生了什么:



-END-
推荐两个团队技术号
![]()
Github研习社: 目前是由国内985博士,硕士组成的团体发起并运营,主要分享和研究业界开源项目,学习资源,程序设计,学术交流。 回复就无套路送你一份自学大礼包。
![]()
机器学习研习社
目前是由国内985博士,硕士组成的团体发起并运营。主要分享和研究机器学习、深度学习、NLP 、Python,大数据等前沿知识、干货笔记和优质资源。 回复就无套路送你一份机器学习大礼包。
推荐阅读
60个相见恨晚的神器工具
![]()
若是你以为文章有帮助,点个“好看” ![]()
本文分享自微信公众号 - Python绿色通道(Python_channel)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。