Python的调试框架bdb及调试器Pdb
来源:互联网 发布:基金开户数据 编辑:程序博客网 时间:2024/06/03 20:17
1. Python标准库中的Debugger框架bdb模块
提供基本的调试功能,如设置断点、管理Debugger的执行等。
bdb模块的组成:
- 异常bdb.BdbQuit(Exception)
- 类class bdb.Breakpoint
- 类class bdb.Bdb(skip=None)
Bdb是Python Debugger的基类,实际使用的Python Debugger是其子类Pdb。
- 测试类class Tdb(Bdb)
- def set_trace()
该方法用以开启调试。
- def checkfuncname(b, frame)
- def effective(file, line, frame)
该方法用以确定相对于该file的该line,哪个Breakpoint有效。
2. Python Debugger调试器
Python的一款交互式调试器,可以设置断点、单步调试、检查堆栈。
1) pdb模块中的Pdb类
class Pdb(bdb.Bdb, cmd.Cmd)
2) 启动调试的方式
- Python解释器的命令行中
python3import pdbpdb.run('mymodule.mytest()')
- 调试一个脚本文件
- 在Python源代码中
import pdb; pdb.set_trace()...pdb.pm()#进入调试模式
3) 调试命令
- h,帮助
- w,打印堆栈
- d,在堆栈中移动到下一级frame
- u,在堆栈中移动到上一级frame
- b lineno|func,在指定位置处设置断点
- tbreak lineno|func,在指定位置处设置临时断点,执行时断点只生效一次
- disable bp_number,禁用指定断点
- enable bp_number,启动指定断点
- ignore bp_number count,忽略指定断点count次
- cl,清除所有断点
- cl lineno|func|bp_number,清除指定位置处的断点
- s,执行当前行,不进入被调用的函数
- n,执行到下一行,如果调用了其他函数则执行被调用函数
- unt,执行...直到
- r,执行到return
- c,继续执行
- j lineno,跳转到指定行
- l,
- ll,
- a,
- p ,
- pp ,
- whatis ,
- source ,
- display ,
- undisplay ,
- run,重启代码的执行
- restart,同run
- q,退出调试模式
- alias myname my_command,设置别名
- 通常在.pdbrc文件中
- unalias myname,取消别名
- interact
参考链接:
https://docs.python.org/3.5/library/bdb.html
https://github.com/python/cpython/blob/3.5/Lib/bdb.py
https://docs.python.org/3.5/library/pdb.html
https://github.com/python/cpython/blob/3.5/Lib/pdb.py
阅读全文
1 0
- Python的调试框架bdb及调试器Pdb
- python pdb 调试器
- python调试器pdb
- python的pdb调试命令
- python pdb 基础调试
- Python pdb基础调试
- pdb 调试python
- Python 调试 PDB
- 调试python程序---pdb
- Python调试利器PDB
- python pdb调试命令
- pdb调试python代码
- pdb调试python脚本
- pdb调试python脚本
- python断点调试pdb
- python pdb 基础调试
- Python pdb调试
- python -- pdb 调试
- Linux--jdk安装
- 浅谈C/C++中的顺序点和副作用
- printf函数中“va_list 、va_start、 va_arg、 va_end” 使用说明
- Android Studio常用快捷
- 查看本地Java安装是否成功和路径的方法
- Python的调试框架bdb及调试器Pdb
- eclipse项目导入到Android Studio中
- 信息回显到下拉框
- Java并发编程:CountDownLatch与CyclicBarrier
- 2 Java语言基础
- 用c语言实现简单三子棋游戏
- 量化分析(9)——借助talib库来直接获得MACD、动量、rsi、移动均线
- 如何判断文章中那些动人的数据
- 你可能没听过的11个Python库