关于   小悟志   网站地图   归档   友情链接   联系   Feed

   云上小悟  +  

当前位置 : 首页 » InfoTech » 使用Pdb调试Python程序 正文

使用Pdb调试Python程序

2016年11月29日 / 109次阅读  InfoTech
标签:麦新杰用Python

拍拍贷

文章《使用Pdb调试Python程序》的特色图片

pdb是Python标准库自带的一个模块,可以用来调试程序。

麦新杰调试从来都是使用print,不过,有的时候遇到比较诡异的问题,使用高级一点的工具还是更方便一些。Python的pdb正好填补这个地方,而且pdb还是标准库里面的模块,随时都可以用。

麦新杰不是很喜欢直接在源代码中插入pdb.set_trace()的方式启动pdb,这样会破坏源代码的美感。最好是在模块中设置一个启动函数,然后在python运行窗口直接使用如下方式进入pdb调试:

s是step命令的简写,表示进入函数;

n是next命令的简写,表示下一步,如果在上面的运行过程中,我们首先使用n的话,函数直接就当成一行语句,执行完毕了,没法调试。所以,我们上面看到的是使用s,进入函数,开始我们的调试。

h是help的简写,列出所有可以使用的pdb指令,如下:

常用的除了s,n,还有c,表示continue执行到断点处,如果没有设置断点,直接就执行完毕。

使用l或者ll来显示源代码(l显示的少,ll显示的多一些),源代码对应的行号会显示出来,行号用来设置断点,使用b命令。

使用cl命令来清楚所有断点。

使用p命令来打印变量的值:

 

常用的就是这些命令,pdb有一个特点,如果直接回车,将会默认再次执行上一个指令,比如刚使用了n下一步,这时不再输入n,直接回车,等同于输入n回车。

Python的pdb也有一些局限:不能远程调试,不能调多线程。(没见过远程调试,多线程就直接print)

 

2017-08-25:

直接在理解程序的基础上,使用print打印就能够debug,简单但是效率可能稍差一点。

补充一个细节:Python print函数遇到非引号内的逗号(,)会自动打印出一个空格。这是人性化呀。

本文链接:http://www.maixj.net/ict/pdb-python-13696
云上小悟 麦新杰(QQ:1093023102)

-- (*^-^*) --

相关文章

评论是美德

《使用Pdb调试Python程序》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.

  • 麦新杰  said:

    还需要在实践中不断熟悉pdb的使用。   [ ]


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号苏ICP备14045477号-1

网站二维码
拍拍贷
go to top