python的debug—pdb的使用笔记

相关:

【python】来学学debugger吧,不能只会用print调试呀!


虽然写了这么多年的代码,不论是C++还是python,我几乎都没有使用过debug,当然这并不是说我写的代码从来不出问题,而是我几乎都是用print的方法,或者直接头脑风暴,但是我并不是不认为debug没有用,而是我一直没有遇到需要debug的代码,当然这可能和自己的代码量和任务类型有关,但是我依然认为写代码还是应该需要掌握debug的技术。


修改源码的方式进行debug:

源码中加入 breakpoint()


p 打印变量;

w 打印当前栈;

l 打印当前行附近代码(连续输入l代表向下再显示一定的行数);

l. 回到当前函数;

ll 显示当前函数的所有代码;

u 切换到上一帧;

d 切换到下一帧;

n 向下运行一行程序(跳出方式,跳出调用的函数);

s 向下运行一行程序(step方式,进入调用的函数);

until 运行到比当前行的行数大的行,跳出循环所常用的方法;

until+数字 运行到指定行;

r 运行到函数的返回处(运行到所在函数的return处,return);

retval 上一个调用函数的返回值;

c 跳出当前调试,接着运行;

clear+数字 删除指定号的断点,b显示断点情况,打印断点号,再使用clear清除掉指定的断点;


不修改源码的方式debug:

python -m pdb example.py


b 设置断点(b 5 在第5行设置断点),不加数字表示打印出所有断点的位置;

b b+函数名,断点设置为运行到某函数,停留在这个还是的return处;


PS:

自己写的代码或许不用debug,但是如果是review其他人写的代码,估计还是要用到debug的。



个人github博客地址:
https://devilmaycry812839668.github.io/

posted on 2024-11-17 19:21  Angry_Panda  阅读(8)  评论(0编辑  收藏  举报

导航