找回密码
 会员注册
查看: 33|回复: 0

Python内置debug库pdb用法详解

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71778
发表于 2024-9-6 20:15:22 | 显示全部楼层 |阅读模式
文章目录0.引言1.基本用法1.1设置断点1.2通过命令行启动`pdb`2.常用命令2.1`n`(next)2.2`s`(step)2.3`c`(continue)2.4`l`(list)2.5`p`(print)2.6`h`(help)2.7`b`(break)2.8`cl`(clear)2.9`q`(quit)3.例子0.引言pdb(PythonDebugger)是Python的内置调试器,使用pdb进行调试可以帮助你深入了解程序的执行流程和变量状态,有助于快速定位和解决问题。通过上述常用命令和示例代码,你可以有效地在Python项目中使用pdb进行调试。下面是pdb的一些常用功能和用法的详细介绍。1.基本用法1.1设置断点要使用pdb调试Python代码,可以在需要调试的地方插入pdb.set_trace(),程序运行到这一行时会暂停,进入调试模式。例子importpdbdefadd(a,b):returna+bdefmain():x=10y=20pdb.set_trace()#设置断点result=add(x,y)print(f"Result:{result}")if__name__=="__main__":main()1234567891011121314运行程序后,程序会在pdb.set_trace()处暂停,进入交互式调试模式。1.2通过命令行启动pdb可以直接从命令行启动pdb进行调试(此时不要求打断点):python-mpdbyour_script.py1此时会停留在代码第一行,然后你就可以依次debug所有的python代码。2.常用命令2.1n(next)执行下一行代码,不会进入函数内部。(Pdb)n12.2s(step)进入当前行调用的函数。(Pdb)s12.3c(continue)继续执行程序,直到遇到下一个断点。(Pdb)c12.4l(list)显示当前代码行以及周围的代码。(Pdb)l12.5p(print)打印变量的值。(Pdb)px12.6h(help)显示帮助信息。(Pdb)h12.7b(break)设置断点,可以在指定行或指定函数处设置断点。(Pdb)b12#在第12行设置断点(Pdb)badd#在add函数处设置断点122.8cl(clear)清除断点。(Pdb)cl1#清除编号为1的断点12.9q(quit)退出调试器。(Pdb)q13.例子以下是一个完整的例子,展示了如何使用pdb进行调试:importpdbdefadd(a,b):returna+bdefmultiply(a,b):returna*bdefmain():x=10y=20pdb.set_trace()#设置断点sum_result=add(x,y)mul_result=multiply(x,y)print(f"Sum:{sum_result}")print(f"Product:{mul_result}")if__name__=="__main__":main()12345678910111213141516171819运行程序并调试:运行程序:直接运行上面的代码,程序会在pdb.set_trace()的下一行处暂停。查看代码:使用l命令查看当前代码行和周围的代码。(Pdb)l1打印变量值:使用p命令打印变量的值。(Pdb)px10(Pdb)py201234单步执行:使用n命令执行下一行代码。(Pdb)n>/xx/test_pdb.py(11)main()->print(f"Result:{result}")123继续执行:使用c命令继续执行程序,直到遇到下一个断点或程序结束。欢迎关注本人,我是喜欢搞事的程序猿;一起进步,一起学习;欢迎关注知乎/CSDN:SmallerFL也欢迎关注我的wx公众号(精选高质量文章):一个比特定乾坤
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 14:18 , Processed in 0.452622 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表