Pdb— Python的调试器

Pdb— Python的调试器

参考:Pdb— Python的调试器

pdb 模块定义了一个交互式源代码调试器,用于 Python 程序。它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上下文中运行任意 Python 代码。它还支持事后调试,可以在程序控制下调用。

Pdb的调用

用pdb调试有多种方式可选:

  1. 命令行

    python3 -m pdb myscript.py
    
  2. Python交互环境

    >>> import pdb
    >>> import mymodule
    >>> pdb.run('mymodule.test()')
    
  3. 程序调用

    一般是在程序中可能出现问题的地方,插入pdb.set_trace(),程序运行到了pdb.set_trace()处就会停止,然后输入调试命令,即可进行调试。

    Example:

    if __name__ == "__main__":
    	a = 1
    	import pdb
    	pdb.set_trace()	
    	b = 2
    	c = a + b
    	print (c)
    

Pdb常用命令

命令作用
h(elp) [command]不带参数时,显示可用的命令列表。
参数为 command 时,打印有关该命令的帮助。
b(reak)设置断点。
如果带有 lineno 参数,则在当前文件相应行处设置一个断点。
如果带有 function 参数,则在该函数的第一条可执行语句处设置一个断点。
cl(ear)清除断点
如果参数是 filename:lineno,则清除此行上的所有断点。
如果参数是空格分隔的断点编号列表,则清除这些断点。
如果不带参数,则清除所有断点。
s(tep)执行当前行,在第一个可以停止的位置(在调用的函数中或在当前函数的下一行)停下。
n(ext)继续运行,直到运行到当前函数的下一行,或当前函数返回为止。
r(eturn)继续运行,直到当前函数返回。
l(ist) [first[, last]]列出当前文件的源代码。
a(rgs)打印当前函数的参数列表。打印当前函数的参数列表。
p expression在当前上下文中运行表达式 expression 并打印它的值。
whatis expression打印 expression 的类型。
q(uit)退出调试器。 被执行的程序将被中止。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值