使用PDB模式调试Python程序介绍


Posted in Python onApril 05, 2015

以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过。(很多时候只是print)就从网上查找一下~

方法:

python -m pdb a.py

a.py是python文件。

(Pdb)模式下的常用命令:

q
退出debug

h 即help,打印所有可以命令

h w
打印命令 w 的含意

n
执行当前行直到到达下一行或直到它返回

s
执行当前行,一有可能就停止(比如当前行有一个函数调用)。它和n(next)的区别是当前行中有函数调用时s(step)会停止当前行的执行而去调用那个函数,而n不会停止,直到计算完成这一行(到达下一行)。

b(reak) [[filename:]lineno | function[, condition]]
设置断点,可以是行号或函数。如 b 10, b foo, b foo,n == 5,最后在函数foo()入口处设置一个断点,但仅当n的值是5时才有效。当b命令无参数时,打印所有断点。

tb(reak) [[filename:]lineno | function[, condition]]
临时断点,只hit一次。

disable [bpnumber [bpnumber ...]]
使指点行的断点(们)失效

enable [bpnumber [bpnumber ...]]
使指定行上的断点(们)有效

c
继续执行程序,直到遇到下一个断点

w
即where,打印当前执行点的位置

l [first, [,last]]
输出当前行附近的源码

p expression
执行一个表达式当打印其值。

a(rgs)
打印当前函数的参数及其值

<直接回车>
重复执行上次的命令

并遇到pdb不认识的命令时,会将它当成python表达式执行。如果你想执行的表达时,最前面加上 ! 字符,比如 !n == 5

多个debug命令可以写在一行上,中间用两个分号分隔,如 s;;s。

Python 相关文章推荐
python设置检查点简单实现代码
Jul 01 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
python的文件操作方法汇总
Nov 10 Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 Python
django celery redis使用具体实践
Apr 08 Python
Python 复平面绘图实例
Nov 21 Python
python datetime时间格式的相互转换问题
Jun 11 Python
Python urllib3软件包的使用说明
Nov 18 Python
Python基础之pandas数据合并
Apr 27 Python
Python图像处理之图像拼接
Apr 28 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 #Python
python获取指定网页上所有超链接的方法
Apr 04 #Python
python中字典dict常用操作方法实例总结
Apr 04 #Python
python随机生成指定长度密码的方法
Apr 04 #Python
python统计字符串中指定字符出现次数的方法
Apr 04 #Python
python使用sorted函数对列表进行排序的方法
Apr 04 #Python
python实现的简单猜数字游戏
Apr 04 #Python
You might like
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
pycharm运行scrapy过程图解
2019/11/22 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python创建临时文件和文件夹
2020/08/05 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
营销总经理的岗位职责
2013/12/15 职场文书
校庆活动策划方案
2014/06/05 职场文书
班级出游活动计划书
2014/08/15 职场文书
中职招生先进个人材料
2014/08/31 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
小学生安全教育心得体会
2016/01/15 职场文书