目录

  • 前言
  • 工具介绍
    • 启动Debug模式
    • 常用命令

前言

在构建python项目的过程中,debug的时间往往要超出编写代码的时间,因此有必要了解一些常用的python调试工具。如果在有IDE的情况下,比如Pycharm,Vscode这些软件,我们可以很方便地进行打断点来debug。但是有些时候,我们的调试环境没有安装这些图形化的软件,为了一个bug重新配置又显得过于麻烦,因此就需要仅依靠命令行的调试工具。今天就来介绍这样一个工具 pdb。


工具介绍

pdb 是 The Python Debugger 的缩写。属于python原生的package,不需要额外安装。

启动Debug模式

通常我们有两种方式进入 pdb 的 Debug 模式。

  • 命令行参数方式
    python -m pdb myscript.py
    通过加上 -m pdb 命令可以直接以pdb的debug方式运行程序。

  • 断点方式
    假设 myscript.py 内容如下:

    import os
    import sys
    def hello():print("hello")if __name__ == "__main__":hello()
    

    调试这个程序只需要利用 pdb.set_trace() 加入断点

    import os
    import sys
    import pdb # 导入pdb包
    def hello():pdb.set_trace() # 添加断点print("hello")if __name__ == "__main__":hello()
    

    然后用 python myscript.py 执行即可进入 pdb 的 Debug模式。

常用命令

进入debug模式后,我们就可以通过命令控制程序的运行。并且可以在这个过程中查看一些变量的结果,或者修改一些变量。

  • s(tep)
    如果输入 s/step命令,程序会进入调用的函数内部。
  • n(ext)
    该命令会顺序执行下一步
  • r(return)
    如果在函数内,执行该命令程序会跳出函数。
  • c(ont(inue))
    程序继续执行,直到遇到下一个断点。
  • j(ump) lineno
    程序继续执行,直到执行到文件的第 lineno 行。

这些都是一些比较常用的命令,更多命令可以参考官网的解释 pdb。

【技术总结】python 调试方法 pdb相关推荐

  1. 【Python基础】Python调试器pdb

    Python调试器pdb 1. pdb简介 2. pdb调试 2.1 pdb常用命令 2.2 pdb实例 更新历史: 2022年12月6日完成初稿 最近在写项目代码,其中需要在Vscode上写pyth ...

  2. 【Python】Python调试器pdb

    Python调试器pdb使用 PDB调用启动方法 PDB常用命令 PDB调用启动方法 pdb有2种用法: 非侵入式(不用额外修改源代码,在命令行下直接运行就能调试) python3 -m pdb fi ...

  3. Python调试方法

    程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...

  4. python断点调试技巧-python调试方法

    之前调试python程序都是用print参数,感觉有点弱爆啊,最近发现python也有类似C语言gdb的工具pdb,记录下pdb的使用方法和心得. 先找了段简单的测试程序: 复制代码 !/usr/bi ...

  5. python调试之pdb调试工具

    pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括 设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量 的值等. 1. 设 ...

  6. Python 调试方法总结

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 文章目录 1. print() 方法 2. 断言 assert 3. logging 4. pdb 4.2 pdb. ...

  7. Python 调试方法

    FROM http://kamushin.github.io/debug/python.html 背景 这几天一直在查一个线上程序 hang 住的问题. 这个程序总是在运行50分钟后 hang 住, ...

  8. python 调试器之pdb

    使用PDB的方式有两种: 1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb命令行: 1)进入命令行Debug模式,python -m pdb ...

  9. Python调试器-Pdb的简介及调试命令

    Pdb简介 pdb为Python程序定义了一个交互式源代码调试器.它支持在源代码行级别设置(条件)断点和单步执行,检查堆栈框架,源代码列表以及在任何堆栈框架的上下文中评估任意Python代码.它还支持 ...

最新文章

  1. Docker 底层原理浅析
  2. Backbone与服务器接口之RESTful
  3. nodejs express 路由与view创建多级目录
  4. HDU2546_用01背包做
  5. 27 JSX函数子元素的应用与思考
  6. LeetCode 1187. 使数组严格递增(DP)*
  7. 计算机三级数据库上机怎么考,最新计算机三级数据库上机考试试题
  8. word删除分节符后之前的格式乱了_分页符分节符,你知道多少
  9. 具有多个Join和选定列的示例LINQ
  10. CentOS7 基于http服务搭建本地yum仓库
  11. 【BZOJ 3308】 3308: 九月的咖啡店 (费用流|二分图最大权匹配)
  12. 订餐系统oracle实训报告,网上订餐系统设计报告.doc
  13. 计算机主流处理器介绍,现在电脑主流配置有哪些 2017主流电脑配置清单一览表...
  14. 09 嵌入式C语言如何实现多级队列缓存(Queue、FIFO)
  15. linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号
  16. C++STL常用操作之prev、next篇
  17. 周文康的大一Python学习心得体会
  18. 紫光集团就“华亚科工程师被紫光集团挖角”事件发表声明
  19. mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H
  20. 【verbs】ibv_req_notify_cq()

热门文章

  1. 背包问题动态规划解法
  2. 97年前端女程序员的职业焦虑
  3. Ubuntu文件系统根目录磁盘空间不足
  4. DVWA通关攻略(适合新手)
  5. 20系列显卡服务器,想知道20系显卡性能差距吗?看这一篇就够了
  6. 2019中山大学计算机考研人数,中山大学2019考研报录情况汇总及分析
  7. 中山大学计算机技术复试经验贴,中山大学计算机*考研复试经验
  8. 重磅!5G手机密集发布, vivo NEX 3有何看点
  9. Keras--基于VGG16卷积神经网络---猫狗分类
  10. Android 刘海屏全面屏适配