参考:Pdb— Python的调试器

pdb 模块定义了一个交互式源代码调试器,用于 Python 程序。它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上下文中运行任意 Python 代码。它还支持事后调试,可以在程序控制下调用。

Pdb的调用

用pdb调试有多种方式可选:

  1. 命令行

    python3 -m pdb myscript.py
  2. Python交互环境

    >>> import pdb
    >>> import mymodule
    >>> pdb.run('mymodule.test()')
  3. 程序调用

    一般是在程序中可能出现问题的地方,插入pdb.set_trace(),程序运行到了pdb.set_trace()处就会停止,然后输入调试命令,即可进行调试。

    Example:

    if __name__ == "__main__":
    a = 1
    import pdb
    pdb.set_trace()
    b = 2
    c = a + b
    print (c)

Pdb常用命令

命令 作用
h(elp) [command] 不带参数时,显示可用的命令列表。
参数为 command 时,打印有关该命令的帮助。
b(reak) 设置断点。
如果带有 lineno 参数,则在当前文件相应行处设置一个断点。
如果带有 function 参数,则在该函数的第一条可执行语句处设置一个断点。
cl(ear) 清除断点
如果参数是 filename:lineno,则清除此行上的所有断点。
如果参数是空格分隔的断点编号列表,则清除这些断点。
如果不带参数,则清除所有断点。
s(tep) 执行当前行,在第一个可以停止的位置(在调用的函数中或在当前函数的下一行)停下。
n(ext) 继续运行,直到运行到当前函数的下一行,或当前函数返回为止。
r(eturn) 继续运行,直到当前函数返回。
l(ist) [first[, last]] 列出当前文件的源代码。
a(rgs) 打印当前函数的参数列表。打印当前函数的参数列表。
p expression 在当前上下文中运行表达式 expression 并打印它的值。
whatis expression 打印 expression 的类型。
q(uit) 退出调试器。 被执行的程序将被中止。

最新文章

  1. Apache Shiro 学习记录3
  2. 兼容IE6的min-width、min-height
  3. 2015年12月01日 GitHub入门学习(三)GitHub创建仓库
  4. XMLHelper.cs
  5. [产品相关] A/B测试终极指南(翻译)
  6. .net google calendar
  7. java 钱币的单位转换
  8. HDU 2087 剪花布条 KMP入门
  9. linux netstat 命令详解
  10. 起泡排序(Bubble sort)
  11. 多功能版vue日历控件
  12. Golang开发工具LiteIDE使用方法整理
  13. Github上Laravel开源排行榜Star数61-90名
  14. lambda 表达式拼接
  15. ACE Editor在线代码编辑器简介及使用引导
  16. 运行Junit单测时遇到的问题
  17. 四大组件之BroadcastReceiver
  18. CodeForces 1063C. Dwarves, Hats and Extrasensory Abilities 交互
  19. python collections deque
  20. HTTPS相关知识以及在golang中的应用

热门文章

  1. Jenkins 构建自动化 .NET Core 发布镜像
  2. Java-学习日记(Java8异步)
  3. SQL server中自定义排序
  4. CSS3转换(transform)基本用法介绍
  5. 8、ITSM基本概念(2)
  6. 27、Tomcat服务的安装与配置
  7. layui table 列宽百分比显示
  8. Flask(1)- 简介
  9. ThreadLocal底层原理学习
  10. Python 类与对象 __init__()参数