【技术总结】python 调试方法 pdb
目录
- 前言
- 工具介绍
- 启动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相关推荐
- 【Python基础】Python调试器pdb
Python调试器pdb 1. pdb简介 2. pdb调试 2.1 pdb常用命令 2.2 pdb实例 更新历史: 2022年12月6日完成初稿 最近在写项目代码,其中需要在Vscode上写pyth ...
- 【Python】Python调试器pdb
Python调试器pdb使用 PDB调用启动方法 PDB常用命令 PDB调用启动方法 pdb有2种用法: 非侵入式(不用额外修改源代码,在命令行下直接运行就能调试) python3 -m pdb fi ...
- Python调试方法
程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...
- python断点调试技巧-python调试方法
之前调试python程序都是用print参数,感觉有点弱爆啊,最近发现python也有类似C语言gdb的工具pdb,记录下pdb的使用方法和心得. 先找了段简单的测试程序: 复制代码 !/usr/bi ...
- python调试之pdb调试工具
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括 设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量 的值等. 1. 设 ...
- Python 调试方法总结
转载请注明作者和出处: http://blog.csdn.net/john_bh/ 文章目录 1. print() 方法 2. 断言 assert 3. logging 4. pdb 4.2 pdb. ...
- Python 调试方法
FROM http://kamushin.github.io/debug/python.html 背景 这几天一直在查一个线上程序 hang 住的问题. 这个程序总是在运行50分钟后 hang 住, ...
- python 调试器之pdb
使用PDB的方式有两种: 1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb命令行: 1)进入命令行Debug模式,python -m pdb ...
- Python调试器-Pdb的简介及调试命令
Pdb简介 pdb为Python程序定义了一个交互式源代码调试器.它支持在源代码行级别设置(条件)断点和单步执行,检查堆栈框架,源代码列表以及在任何堆栈框架的上下文中评估任意Python代码.它还支持 ...
最新文章
- Docker 底层原理浅析
- Backbone与服务器接口之RESTful
- nodejs express 路由与view创建多级目录
- HDU2546_用01背包做
- 27 JSX函数子元素的应用与思考
- LeetCode 1187. 使数组严格递增(DP)*
- 计算机三级数据库上机怎么考,最新计算机三级数据库上机考试试题
- word删除分节符后之前的格式乱了_分页符分节符,你知道多少
- 具有多个Join和选定列的示例LINQ
- CentOS7 基于http服务搭建本地yum仓库
- 【BZOJ 3308】 3308: 九月的咖啡店 (费用流|二分图最大权匹配)
- 订餐系统oracle实训报告,网上订餐系统设计报告.doc
- 计算机主流处理器介绍,现在电脑主流配置有哪些 2017主流电脑配置清单一览表...
- 09 嵌入式C语言如何实现多级队列缓存(Queue、FIFO)
- linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号
- C++STL常用操作之prev、next篇
- 周文康的大一Python学习心得体会
- 紫光集团就“华亚科工程师被紫光集团挖角”事件发表声明
- mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H
- 【verbs】ibv_req_notify_cq()