这篇文章主要讲解了Python如何使用pdb调试代码,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
什么是pdb
不知道大家在用Python写代码出现报错时是怎样调试的,从报错提示定位回去一步一步check每一行?如果没有IDE或者命令行写代码时又该怎样快速调试?这时如果使用pdb进行调试将会异常方便。
Pdb就是Python debugger,是python自带的调试器。通过 pdb 我们可以交互式的查看运行过程中变量的值、设置断点、逐行执行代码、查看代码的调用栈等等。并且如果环境没有 GUI 的话,那么 pdb 能够助你更快速的调试代码。
首先我们准备一段有问题的代码用于示例
def test(p): p = p + 1 return p def fastdebug(): print('start') temp = 'ready' print('ok') res = test(temp) print('end') fastdebug()
这段代码很简单,当我们执行fastdebug()时,会执行fastdebug函数并在该函数中调用另一个函数test(),test函数接收一个参数p并计算p+1的值传出。很明显,在高亮的一句代码中传进去的参数temp是str,所以当我们执行上面一段代码时一定会报错
现在让我们假装不知道问题出在哪,使用pdb来调试这段代码。
使用pdb
由于pdb是python标准库因此我们可以直接import 使用
import pdb
接着在我们需要调试的代码段前设一个断点
pdb.set_trace()
应用到我们的代码:point_down:
可以看到运行代码后,pdb的调试器控制台将从放置set_trace()的位置开始等待我们的命令,并且箭头标记指向pdb接下来要运行的行。那么接下来介绍一些pdb中常用命令
使用n来执行下一行
可以看到此时调试器指向
print('start')
在弹出的文本框中输入n即可执行该行,并且箭头将指向下一行即将执行的代码
使用ENTER重复上一个命令
现在还没有到报错的位置,我们使用n或者直接回车重复执行上一个命令
使用p打印变量值
在Pdb中我们可以使用p + 变量名来查看变量值,比如我们查看变量temp的值
使用l查看上下行代码
在Pdb中我们可以使用l查看当前行上下几行代码
使用s进入子函数
现在,我们来到出错的这一行,之所以报错就是传进去变量出了问题,因此我们可以在pdb交互行中使用s来进入子函数test()
使用r执行函数直到结束
在pdb中可以使用r来执行当前运行函数到结束
使用c停止调试并继续运行
现在我们修改相关代码完成调试,可以使用c命令继续执行命令
当然也可以输入q直接退出调试界面
看完上述内容,是不是对Python如何使用pdb调试代码有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。