3分钟学会!python pdb调试利器!最常用pdb命令!

在debug的时候,我们通常会写一个print语句,打印出来这个变量值,或函数的返回值到底是什么,但是这样会很麻烦。因为每次都需要写多个print,运行多次项目。

pdb就很好的解决了这个问题。只需要打个断点,使用pdb的命令执行你想要的,比如执行断点的下一行,打印当前变量等等。

先说下命令:

pdb.set_trace():作用是打断点。在哪儿插入断点,程序就会进入交互模式,暂停程序的执行。断点之前的代码都已经执行到内存中,断点之后的代码被暂停执行。


l:  查看当前程序运行到哪里。
 

p param:打印变量值,这里的打印是打印pdb.set_trace()前面的值。
 

p param1,param2:  打印多个变量值,用逗号隔开。
 

n:  执行下一行代码,打印。
 

c:  继续执行程序,直到程序走到下一个断点。
 

w:  显示当前正在执行的代码行的上下文信息。
 

a:  打印当前函数参数列表
 

s:  执行当前代码行,并停留在下一个set_trace()地方,可以说是下一个端点的地方。
     执行下一条语句,遇到函数进入其内部
cl:  清除断点
 

b:行数:设置断点
 

r:执行到当前函数结束

举例说明:

def blog(name):
    print('进入blog函数')
    name()
    print('我的博客是 https://blog.csdn.net/zhh763984017')


if __name__ == '__main__':
    print "before main......."
    x = 9
    pdb.set_trace()
    y = 3
    # count_time(baiyu)
    blog(baiyu)
    pdb.set_trace()
    z = x + y
    print z

启动代码:

程序执行到pdb.set_trace()断点,执行到断点时进入交互式调试模式。此时第54行print,和x=9是已经执行到内存中的。

运行l命令,l命令是看程序执行哪里的上下文。

p 变量名:打印已经执行过的变量值,这里也可以打印多个,p 变量名1,变量名2

w命令,w也是看程序执行到哪里了,只是简单的一行。

n是执行下一行程序,python是顺序执行的。

c:继续执行程序,直到程序走到下一个断点。

下面的是执行到下一个断点。

a:打印当前函数参数列表

s执行下一条语句,遇到函数进入其内部,和n不同是,s是进入了内部。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值