Python自带又好用的代码调试工具Pdb学习笔记

举报
技术火炬手 发表于 2019/09/09 14:33:31 2019/09/09
【摘要】 夜已深…夜已深,还有什么人?没啦…最近各种忙,结果就是11点多家人都睡了,只剩下我终于有时间打开了电脑。坐在电脑前有些懵逼,不知道该干什么。想想算了,先偷吃一包儿子的小零食吧。然后,一包、两包、三包……哈哈返璞归真这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装。然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装...

夜已深…

夜已深,还有什么人?没啦…

image.png

最近各种忙,结果就是11点多家人都睡了,只剩下我终于有时间打开了电脑。坐在电脑前有些懵逼,不知道该干什么。想想算了,先偷吃一包儿子的小零食吧。然后,一包、两包、三包……哈哈

返璞归真

这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装。然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装其他插件与工具,不巧的是python的代码 报错了…

如果放在平时,代码 报错编辑器下debug,分分钟解决。可Linux环境下怎么处理?如果允许安装第三方模块,PySnooper其实是个比较好的选择。可悲的是安全不允许啊…

其实Python,自带了一个debug的工具 pdb。说实话,这模块跟IDE下debug比,相差十万八千里,但有时候能实现功能的东西就是好东西!

pdb学习

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

pdb说明

image.png

b:(break)添加断点

b 列出当前所有断点,和断点执行到统计次数

b line_no:当前脚本的line_no行添加断点

b filename:line_no:脚本filename的line_no行添加断点

b function:在函数function的第一条可执行语句处添加断点

cl:(clear)清除断点

cl 清除所有断点

cl bpnumber1 bpnumber2… 清除断点号为bpnumber1,bpnumber2…的断点

cl lineno 清除当前脚本lineno行的断点

cl filename:line_no 清除脚本filename的line_no行的断点

l:(list)列出源码

l 列出当前执行语句周围11条代码

l first 列出first行周围11条代码

l first second 列出first—second范围的代码,如果second<first,second将被解析为行数

代码调试

首先我们来准备一份调试代码:

image.png

启动调试

640.jpg

以上就是基础的pdb代码调试方式了,如果大家之后也遇到需要临时调试的场景,可以尝试这种交互式的调试方式。即便不如IDE好用,但艺多不压身,多学一个模块好处多多!

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。

期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。

希望每周一至五清晨的7点10分,都能让清风Python的知识文章叫醒大家!谢谢……


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。