pdb调试

参考文档:https://www.jianshu.com/p/8e5fb5fe0931

调用pdb调试功能:Python -m pdb filename

1.断点 ( btbreak, cl , disable,enable,ignore bpnumber,condition bpnumber)

b设置断点

b num: 给第num行打断点
b function_name:当前文件函数名为 function_name 的函数打断点
b test1.A.add:在 import test1 文件的 A 类的 add 方法打断点
b A.add:在 A 类的 add 方法打断点

tbreak:设置临时断点

tbreak: 设置临时断点,运行完自动删除,和以上设置方式一致)

cl:清除断点

cl:清除所有断点
cl 3:清除断点列表中第3个断点
cl test.py:18:清除 test.py 文件的第18行的断点
cl test1:18:清除 import test1 文件的第18行断点

disable,enable:停用启用断点

和以上cl的用法一致

ignore bpnumber:忽略断点几次

ignore 1 3:忽略断点列表中第1个断点3次,一般循环中用

condition bpnumber:断点条件

condition 5 i==0:当断点列表中第5个断点中变量 i 等于 0 的时候执行断点

2.显示代码( l , w )

l: 查看当前位置的代码
l 5, 20: 列出5到20行代码
w :显示当前的执行位置

3. 执行(s, n, unt, r , c, run

s:执行下一条命令,如果本句是函数调用,则 s 会执行到函数的第一句
n:执行下一条语句,如果本句是函数调用,则执行函数,接着执行当前执行语句的下一条。
unt:执行到下一行
r:执行当前运行函数到结束
c:继续执行,直到遇到下一条断点
run:重新执行

4.调试工具(p, pp, a

p params:打印 params 参数
pp expression:格式化打印出来的结果
a: 显示当前所有变量
commands num:给断点num写测试脚本以end结束脚本

5.其他

j:跳转至指定程序行(如果是前行,则忽略中间行代码。如果是后退,状态重设为回退行状态)
alias :自定义一个函数,参数可由%1,%2来表示,类似 Python 的 lambda
unalias name删除函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原...
    Manfred_Zone阅读 16,655评论 0 26
  • 记得小时候写作文,我的夸张用的最夸张的一次,是一句:如果世界上有后悔药,我一定会吃十瓶。至今都忘不了语文老师读这句...
    叶重帆阅读 3,848评论 2 1
  • 你知道吗?你的想法你可能无法自主。 你看到这句话可能会心想:“这和尚怕不是个傻子吧”?我的想法我当然可以自主了 是...
    释续祥阅读 10,946评论 6 15
  • 闹钟一早就响了 整个世界也随之忙碌起来 起床 洗脸 刷牙 穿好鞋袜 出门 乘坐电梯 公共交通 几个红绿灯 我听到来...
    Mayhope阅读 988评论 0 0
  • 你昨天和女朋友去看五月天演唱会了 那,我不喜欢就是了
    没勇气的风阅读 2,271评论 0 0