pdb: Python代码调试器

pdb: Python代码调试器


在这里插入图片描述

Pdb介绍

网址:pdb — The Python Debugger

介绍:模块pdb为Python程序定义了一个交互式源代码调试器。它支持在源行级别设置(条件)断点和单步执行,检查堆栈帧,列出源代码,以及在任何堆栈帧的上下文中评估任意Python代码。它还支持死后调试,并且可以在程序控制下调用。

Pdb用法

  • 非侵入式方法(不用额外修改源代码,在命令行下直接运行就能调试)
python3 -m pdb filename.py
  • 侵入式方法(需要在被调试的代码中添加一行代码然后再正常运行代码)
import pdb;pdb.set_trace()
# or
import pdb
pdb.set_trace()

Pdb常用命令

完整命令命令解释说明
listl查看当前行的代码段查看当前位置前后11行源代码(多次会翻页),当前位置在代码中会用–>这个符号标出来
ll查看当前函数或框架的所有源代码
breakb设置断点
b lineno在lineno行设置断点
b filename:linenofilename文件名,在filename的lineno行设置断点
b functionname在函数名执行的第一行设置断点
tbreak\临时断点,执行一次后时自动删除(这就是它被称为临时断点的原因)参数同break,b
clearcl清除所有断点1.不带参数用于清除所有断点,会提示确认(包括临时断点)
2.带参数则清除指定文件行或当前文件指定序号的断点
cl filename:lineno清除指定文件中的指定行号的断点filename: 文件名
lineno: 断点行号
cl bpnumber [bpnumber …]清除当前文件中的一个或多个断点bpnumber: break point number 断点行号。bpnumber 断点序号(多个以空格分隔)
printp x打印变量x的值
steps进入函数(能够进入函数体)(进入 for 循环用 next 而不是用 step)
nextn执行下一行(不会进入函数体)
returnr执行下一行(在函数中时会直接执行到函数返回处)
continuec持续执行下去,直到遇到一个断点
untilunt lineno持续执行直到运行到指定行(或遇到断点)
jumpj lineno直接跳转到指定行(注意,被跳过的代码不执行)
upu返回到上个调用点(不是上一行)
argsa在函数中时打印函数的参数和参数的值
whatiswhatis expression打印表达式的类型,常用来打印变量值
wherew打印堆栈信息,最新的帧在最底部。箭头表示当前帧。
!\在pdb中执行语句
exitq中止调试,退出程序
help\帮助

作者博客: https://chamferschen.github.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值