Python公开课 - PDB调试处理

前言

如果你熟悉命令行调试工具,如GDB,那么使用Python中的PDB将获得非常好的体验,PDB不仅支持项目启动时进行调用,也支持在Python shell中交互式调试

它为Python程序定义了一个交互式源代码调试器。它支持在源代码行级别设置条件断点、单步执行,堆栈检查,源码列表以及在任何堆栈帧的上下文查看。

用Pdb调试有多种方式

命令行加-m参数

命令行启动目标程序,加上-m参数,这样调用 testPdb.py的话断点就是程序执行的第一行之前

python -m pdb test.py

在python交互环境调试

>>> import pdb
>>> import test
>>> pdb.run('test.test()')

代码中插入一段程序

比较常用的,就是在程序中间插入一段程序,相对于在一般 IDE 里面打上断点然后启动 debug,不过这种方式是 hardcode的

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

常用的命令

  • break: b, 设置断点
  • continue: c, 继续执行程序
  • list: l, 查看当前行的代码段
  • step: s, 进入函数
  • return: r, 执行代码直到从当前函数返回
  • quit: q, 中止并退出
  • next: n, 执行下一行
  • print: p, 打印变量的值
  • help: h, 帮助
  • args: a, 查看传入参数
  • clear num: 删除指定断点
  • bt: 查看函数调用栈帧

总结

pdb 调试有个明显的缺陷就是对于多线程,远程调试等支持得不够好,同时没有较为直观的界面显示,不太适合大型的 python 项目。而在较大的 python 项目中,这些调试需求比较常见,因此需要使用更为高级的调试工具。

相关阅读


相关推荐
  1. 天津宝坻区王卜庄镇大吴庄中心小学
  2. 此处不留人会有留人处
  3. 武汉推出越王勾践剑交通卡
  4. 河北省邯郸市小太阳双语幼儿园 - 邯郸幼儿园黄页
  5. 百名网媒总编辑登上知音号欣赏武汉夜色
  6. 大名县小精灵艺术幼儿园 - 邯郸幼儿园黄页
  7. 中山红缨幼儿园(红缨) - 沈阳幼儿园黄页
  8. 邯郸市邯山区绿化路小学
  9. 蓝色的伞
  10. 罗平一中平高学校
  11. 婴儿出牙期的表现有哪些 - 育儿经验
  12. 中山市育才学校(中学部)
  13. 详解Tesseract之安装及基本使用
  14. 天津市西青区田丽小学
  15. ABC幼儿园 - 石家庄幼儿园黄页
  16. 最有用的武器
  17. Python公开课 - Requests高级功能
  18. 宜章九中
  19. Centos7中配置 Putty免密码登录
  20. 山东青岛大学路小学
  21. 鹤山市第二中学(鹤山二中)
  22. 温州市苍南县狮山中学
  23. 小老鼠大本领
  24. 大海蟒
  25. 武汉一女子七天被骗220万
  26. Python公开课 - Django配置极验证geetest教程
  27. 江苏省南京市江宁区天景山成长幼儿园 - 南京幼儿园黄页
  28. 威海市统一路小学
  29. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  30. 唐山市玉田县高马头幼儿园 - 唐山幼儿园黄页
  31. 黄骅市旧城镇霍马村小学
  32. 小克劳斯和大克劳斯
  33. 宁波市鄞州区古林镇中心小学
  34. 深圳市向西小学
  35. 顺义区俸伯中学
  36. 脱单!武汉的相亲角在哪你知道吗?
  37. 江西南昌宝灵高级中学
  38. 宝宝耳垂血管瘤怎么治 - 育儿经验
  39. HashMap底层结构与JVM内存模型 - 阿里技术面试
  40. 警方通报:武汉男子持刀至五死一伤,嫌犯已跳桥
  41. 郑州嵩阳中学
  42. 温州平阳职教中心
  43. 金乌和玉兔
  44. 宁海县梅林中心小学
  45. 一文讲清SD-WAN
  46. 画鬼最易
  47. 武汉00后大二学妹拍视频月入七十万
  48. 昆明市盘龙区工人文化宫文化艺术培训中心农大分校幼儿部 - 昆明市幼儿园黄页
  49. Python公开课 - pyspider框架介绍
  50. 自以为是的猴子
  51. OpenJDK与Oracle JDK的区别
  52. 天津市宝坻区方家庄镇中西学校
  53. 武汉女子网上做兼职被骗六十五万
  54. 江门市三江镇联和小学
  55. 昆明市官渡区贝晨双语幼儿园 - 昆明市幼儿园黄页
  56. 爱奇艺上个人如何发布知识付费视频
  57. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  58. 武汉动物园火烈鸟孔雀排队打疫苗
  59. 美容秘方
  60. Python公开课 - 文件操作