Python调试pdb和ipdb
什么是pdb和ipdb
不知道大家在用Python写代码出现报错时是怎样调试的,从报错提示定位回去一步一步check每一行?如果没有IDE或者命令行写代码时又该怎样快速调试?这时如果使用pdb进行调试将会异常方便。
Pdb就是Python debugger,是python自带的调试器。通过 pdb 我们可以交互式的查看运行过程中变量的值、设置断点、逐行执行代码、查看代码的调用栈等等。并且如果环境没有 GUI 的话,那么 pdb 能够助你更快速的调试代码。
之前我使用ubuntu系统界面或者windows,使用断点调试,而实际工作过程中都是采用linux远程ssh模式,无法可视化界面,那么调试技巧就是pdb,这也是必须要学习pdb的原因,pdb很简单,一起学习把!
ipdb其实就是基于pdb的ipython版本,方法要比pdb更加方便!
示例:
def test(p):p = p + 1return pdef fastdebug():print('start')temp = 'ready' print('ok')res = test(temp) print('end')fastdebug()
这段代码很简单,当我们执行fastdebug()时,会执行fastdebug函数并在该函数中调用另一个函数test(),test函数接收一个参数p并计算p+1的值传出。很明显,在高亮的一句代码中传进去的参数temp是str,所以当我们执行上面一段代码时一定会报错
现在让我们假装不知道问题出在哪,使用pdb来调试这段代码。
使用pdb
由于pdb是python标准库因此我们可以直接import 使用
import pdb
接着在我们需要调试的代码段前设一个断点
pdb.set_trace()
应用到我们的代码
Python调试pdb和ipdb相关推荐
- Python 调试 PDB
出处:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 完整 请参考:http://docs.python.or ...
- Python 调试器 - ipdb
⚠️注意:PyTorch 代码中使用 ipdb 调试方式,不支持多线程.如果有多个 worker,将 worker 设置为 0 即可. ipdb 介绍 说明文档:ipdb ipdb 调试器具有语法高亮 ...
- Python之pdb代码调试
调试程序对于开发人员是一项非常重要的技能,它使得我们能够查看程序的运行过程,帮助我们准确的定位程序中的错误. 然而,令人意外的是,无数的Python工程师居然不知道如何对Python代码进行单步调试, ...
- python调试器 ipdb
文章目录 1. 介绍 1.1 常用调试方式 1.2 安装 ipdb 2. 用法 3. 命令 3.1.查看源代码 3.2.添加断点 3.3 添加临时断点 3.4 清除断点 3.5.打印变量值 3.6.逐 ...
- python 调试器之pdb
使用PDB的方式有两种: 1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb命令行: 1)进入命令行Debug模式,python -m pdb ...
- python使用 pdb 进行调试--- python -m pdb xxx.py 即可 和gdb使用一样
使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变 ...
- The python debugger调试(PDB)的简介
学习Python调试,最好的资料当然是官方文档和(pdb)help了,这里有篇博文,还有下面的 PDB cheat-sheet 1 在python中使用pdb模块可以进行调试 import pdb p ...
- Python 调试工具 PDB(Linux 环境下调试)
转载:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 在python中使用pdb模块可以进行调试 import ...
- python pdb调试快捷键,Python调试工具pdb使用详解
[简介] pdb是Python自带的一个包,为python程序提供了一种交互的源代码调试功能. [使用方法] 1. 使用命令: python -m pdb xxx.py #可以直接进入单步执行模式 2 ...
最新文章
- 沃通免费SSL证书申请指南
- [HNOI2008]遥远的行星
- App上架应用市场,如何攻破安全过检难题
- BZOJ5323 洛谷4562:[JXOI2018]游戏——题解
- delphi 实现屏幕旋转代码_Cocos Creator模拟射箭效果 | 附代码
- 2019春第五周作业
- 公司安排员工扫地,引发员工不满,程序员:保洁阿姨都请不起?
- beego mysql按时间排序_beego的数据库操作优化
- java程序设计与问题求解第八版pdf_《Java程序设计与问题求解(第7版)》怎么样_目录_pdf在线阅读 - 课课家教育...
- Vue脚手架中添加favicon.ico图标失效问题
- c语言malloc引用类型作参数,c语言中动态内存分配malloc只在堆中分配一片内存.doc...
- es6 箭头函数后面的大括号
- CNDS-markdowm使用方法(^ _ ^)
- 通过SLD_BODY动态改变geoserver的图层样式
- uva 10099【The Tourist Guide】
- 解决Sheet can not be presented because the view is not in a window这样的问题
- 小猿圈python之练习小例子
- 分布式医疗大数据存储方案研究综述
- 既然不能独自养家糊口,的确就不应该去抱怨发牢骚
- 生活娱乐 怎么治疗冻疮 有特效