使用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类型强制转换long to int的代码
Feb 10 Python
Python中的包和模块实例
Nov 22 Python
python中字典dict常用操作方法实例总结
Apr 04 Python
Python素数检测的方法
May 11 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
python简单实现AES加密和解密
Mar 28 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
keras实现调用自己训练的模型,并去掉全连接层
Jun 09 Python
python游戏开发Pygame框架
Apr 22 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 foreach 参数强制类型转换的问题
2010/12/10 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
Javascript调试工具(下载)
2007/01/09 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
django跳转页面传参的实现
2020/09/17 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
大学生旅游业创业计划书
2014/01/29 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
学习委员竞选稿
2015/11/20 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis