Pdb小教程

本文详细介绍了Python的pdb调试工具的使用方法,包括如何进入pdb调试模式、基本控制流、辅助控制流、断点管理和查看与执行等操作。通过设置断点、控制执行流程,以及查看变量和代码,帮助开发者更有效地定位和解决问题。
摘要由CSDN通过智能技术生成

本文用于介绍pdb的使用方式和使用场景.

PS1: 下文每个小标题里的小括号是指令的别名,中括号里的数字表示该指令的使用频率或重要程度(1表示经常使用,2表示有时使用,3表示偶尔使用,4表示一般不用).

PS2: 本文教程基于Python3


如何进入Pdb调试模式

修改代码

import pdb

pdb.set_trace()

模块启动进入

python -m pdb test.py


想要进入python的pdb调试模式主要有两种方法.一是修改代码,在需要停下来的地方加入pdb.set_trace()语句,当程序运行到这句话的时候就会自动停下来进入调试模式.二是在启动脚本的时候使用python -m pdb test.py的方式,这样的话,程序会在test.py的第一句话就停下来.

第一种方式,一般用在确认了问题出在哪里之后,相当于直接在那里设了一个断点.第二种方式则是从头开始调试,但第二种方式可以实现第一种方式(断点+c,设置断点在那个地方,然后让程序继续执行),并且下文会介绍第二种方式更多有用的手法.

要注意的是,程序运行的时候,pdb有可能在后台监控.如果pdb在后台监控的时候程序发生错误,则程序会停下来进入pdb模式,此时可以执行查看命令找出问题,但不能让程序继续执行了.如果pdb不在后台监控,则程序发生错误会直接结束python进程.

使用第一种方式的话,pdb会在执行到pdb.set_trace()之后才会在后台监控,而第二种方式,一开始pdb就会在后台监控.

对于不清楚程序是否出错,使用第二种方式会更好,因为当程序抛出异常,程序就会停下来进入调试模式,你可以通过查看变量找出问题所在,而不需要重新运行一次程序.第二种方式的不好之处在于,它在程序结束的时候会进入调试模式,准备重新运行程序,并且不会释放内存或显存.


基本控制流

n(next)[1]

n 执行当前行

s(step)[1]

s 执行当前行,如果是函数的话会进入函数

c(continue)[1]

c 继续运行

r(return)[1]

r 继续运行到当前函数返回

q(quit)[1]

q 退出程序


调试最重要的是找到出错的地方,而n,s,c,r,q就是在找出出错的代码时最常用的指令.

ns,要注意的是,ns都是单步进行,执行当前行,但如果当前行是一个函数(或者说不是

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值