Python自带又好用的代码调试工具Pdb学习笔记
返璞归真
这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装。然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装其他插件与工具,不巧的是python的代码报错了…
如果放在平时,代码报错编辑器下debug,分分钟解决。可Linux环境下怎么处理?如果允许安装第三方模块,PySnooper其实是个比较好的选择。可悲的是安全不允许啊…
其实Python,自带了一个debug的工具 pdb
。说实话,这模块跟IDE下debug比,相差十万八千里,但有时候能实现功能的东西就是好东西!
pdb学习
pdb为Python程序定义了一个交互式源代码调试器。它支持在源代码行级别设置(条件)断点和单步执行,检查堆栈帧,源代码列表以及在任何堆栈帧的上下文中评估任意Python代码。它还支持事后调试,可以在程序控制下调用。
pdb说明
命令 | 说明 |
---|---|
break 或 b | 设置断点 |
continue 或 c | 继续执行程序 |
list 或 l | 查看当前行的代码段 |
step 或 s | 进入函数 |
return 或 r | 执行代码直到从当前函数返回 |
exit 或 q | 中止并退出 |
next 或 n | 执行下一行 |
pp | 打印变量的值 |
help | 帮助 |
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将被解析为行数
代码调试
首先我们来准备一份调试代码:
启动调试
以上就是基础的pdb代码调试方式了,如果大家之后也遇到需要临时调试的场景,可以尝试这种交互式的调试方式。即便不如IDE好用,但艺多不压身,多学一个模块好处多多!
The End
OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。 期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。
作者:清风Python
相关文章
- Python自带又好用的代码调试工具Pdb学习笔记
- python 调试
- Python字符串拼接的6种方法(转)
- python cx_oracle单个表中批量插入数据
- Python tkinter库之Canvas直线画圆和莫尔条纹
- [转] python程序的调试方法
- 【华为云技术分享】使用pdb调试python代码的方法
- Python微信公众号教程基础篇——收发文本消息
- 【强烈推荐】这两款 Python 代码调试工具真的很棒
- python里面的self,是谁啊?
- 【华为机试真题 Python实现】平安果
- letnet图片分类 python实现-详细讲解
- python之解压缩文件(亲测好用)
- Python爬虫:Scrapy调试运行单个爬虫
- Python编程:Django中使用Celery执行异步任务和定时任务
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
- python getmtime() 最近修改文件内容的时间
- 60集Python入门视频PPT整理 | Python代码的测试、调试与探查
- python 表示windows路径
- Python easyOCR图像文本提取 初识
- python基础===8道基础知识题
- Python 量化(三)统计中国所有股票近十天的换手率之和并写入数据库