什么是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相关推荐

  1. Python 调试 PDB

    出处:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 完整 请参考:http://docs.python.or ...

  2. Python 调试器 - ipdb

    ⚠️注意:PyTorch 代码中使用 ipdb 调试方式,不支持多线程.如果有多个 worker,将 worker 设置为 0 即可. ipdb 介绍 说明文档:ipdb ipdb 调试器具有语法高亮 ...

  3. Python之pdb代码调试

    调试程序对于开发人员是一项非常重要的技能,它使得我们能够查看程序的运行过程,帮助我们准确的定位程序中的错误. 然而,令人意外的是,无数的Python工程师居然不知道如何对Python代码进行单步调试, ...

  4. python调试器 ipdb

    文章目录 1. 介绍 1.1 常用调试方式 1.2 安装 ipdb 2. 用法 3. 命令 3.1.查看源代码 3.2.添加断点 3.3 添加临时断点 3.4 清除断点 3.5.打印变量值 3.6.逐 ...

  5. python 调试器之pdb

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

  6. python使用 pdb 进行调试--- python -m pdb xxx.py 即可 和gdb使用一样

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

  7. The python debugger调试(PDB)的简介

    学习Python调试,最好的资料当然是官方文档和(pdb)help了,这里有篇博文,还有下面的 PDB cheat-sheet 1 在python中使用pdb模块可以进行调试 import pdb p ...

  8. Python 调试工具 PDB(Linux 环境下调试)

    转载:http://blog.163.com/gjx0619@126/blog/static/12740839320114995947700/ 在python中使用pdb模块可以进行调试 import ...

  9. python pdb调试快捷键,Python调试工具pdb使用详解

    [简介] pdb是Python自带的一个包,为python程序提供了一种交互的源代码调试功能. [使用方法] 1. 使用命令: python -m pdb xxx.py #可以直接进入单步执行模式 2 ...

最新文章

  1. 沃通免费SSL证书申请指南
  2. [HNOI2008]遥远的行星
  3. App上架应用市场,如何攻破安全过检难题
  4. BZOJ5323 洛谷4562:[JXOI2018]游戏——题解
  5. delphi 实现屏幕旋转代码_Cocos Creator模拟射箭效果 | 附代码
  6. 2019春第五周作业
  7. 公司安排员工扫地,引发员工不满,程序员:保洁阿姨都请不起?
  8. beego mysql按时间排序_beego的数据库操作优化
  9. java程序设计与问题求解第八版pdf_《Java程序设计与问题求解(第7版)》怎么样_目录_pdf在线阅读 - 课课家教育...
  10. Vue脚手架中添加favicon.ico图标失效问题
  11. c语言malloc引用类型作参数,c语言中动态内存分配malloc只在堆中分配一片内存.doc...
  12. es6 箭头函数后面的大括号
  13. CNDS-markdowm使用方法(^ _ ^)
  14. 通过SLD_BODY动态改变geoserver的图层样式
  15. uva 10099【The Tourist Guide】
  16. 解决Sheet can not be presented because the view is not in a window这样的问题
  17. 小猿圈python之练习小例子
  18. 分布式医疗大数据存储方案研究综述
  19. 既然不能独自养家糊口,的确就不应该去抱怨发牢骚
  20. 生活娱乐 怎么治疗冻疮 有特效

热门文章

  1. 现货黄金行情走势图没更新怎么办?
  2. 二叉树、红黑树 、平衡二叉树
  3. Java权限降级_简单值控制权限系统的改进
  4. spdlog 日志库学习,简易封装
  5. 电脑录像功能在哪 电脑录像功能在什么位置
  6. mysql 字符集设置 重启
  7. Three.js - 走进3D的奇妙世界
  8. Servlet过滤器Filter
  9. Epson TM-T88IV 热敏票据打印机 【转】
  10. CDH安装过程中遇到的问题