Python/pdb调试

问题

编程时查看变量的值是很有必要的,这可以帮助我们判断代码是否有Bug,也可以据此判断Bug出现在哪里。下面介绍如何在Python中使用pdb进行调试,并查看变量值。

以下方法通常也适用于其他编程语言,IDE以PyCharm为例。其中,推荐使用pdb进行调试,用法与gdb类似,可以打断点、逐行运行、打印变量;不推荐使用print函数调试,因为此方法需要编写多个print,且每次修改代码后都需要重新运行;若使用PyCharm编辑器,则可以通过编辑器的调试工具进行调试。

使用pdb调试(推荐)

使用pdb可在程序外调用pdb,方法如下:

python -m pdb script.py [args]

也可py代码内启动pdb,使用方法如下:

# 导入pdb库
import pdb
# 在指定位置打断点
pdb.set_trace()

随后运行py脚本即可在断点处停下来,便可像gdb一样进行调试,调试命令如下:

# 查看断点
b
# 添加断点
b [breakpoint]
# 删除断点
clear [point_num]
# 单步运行,遇到函数会进入函数体
s
# 运行下一行,遇到函数会执行完整个函数
n
# 继续运行,直至下一断点或程序结束
c
# 打印变量
p [var]
# 退出pdb
q

补充:在添加断点和打印变量时可以使用Tab自动补全。

使用print函数调试

在适当位置使用print函数输出,这样在运行时便可查看指定的变量值。为避免混淆,可以为输出添加标识符,示例如下:

# 要查看maxVal的变量值
print("max value: ", maxVal)  # 方式1
print("max value = ", maxVal)  # 方式2

PyCharm调试

想要通过调试查看变量值,必须先插入断点,在代码行的标号处可添加断点,出现红色的断点即代表插入成功,如下图:
在这里插入图片描述

可以在欲查看变量值的语句前插入,之后点击调试按钮(Debug按钮)即可进行调试,如下图:
在这里插入图片描述

在Debug面板下,可以查看各变量值,若有多个断点,则可以运行至下一断点调试代码,如下图:
在这里插入图片描述

可以对某些变量右键,选择Add to Watches,进行专门监控,如下图:
在这里插入图片描述
在这里插入图片描述

对于Array类型的变量,可以右击选择View as array,以表格的形式查看数据,如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NSJim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值