使用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的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
Python中的super()方法使用简介
Aug 14 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
pytorch自定义二值化网络层方式
Jan 07 Python
使用TFRecord存取多个数据案例
Feb 17 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
整理Python中常用的conda命令操作
Jun 15 Python
Python实现滑雪小游戏
Sep 25 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
终于听上了直流胆调频
2021/03/02 无线电
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
php检测文件编码的方法示例
2014/04/25 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
原生js封装的ajax方法示例
2018/08/02 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python与php实现分割文件代码
2017/03/06 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Django model反向关联名称的方法
2018/12/15 Python
python导入pandas具体步骤方法
2019/06/23 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
opencv实现简单人脸识别
2021/02/19 Python
什么是java序列化,如何实现java序列化
2012/11/14 面试题
团委书记的竞聘演讲稿
2014/04/24 职场文书
刑事案件上诉状
2015/05/23 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
vue中 this.$set的使用详解
2021/11/17 Vue.js