如果你还只会使用print来定位python程序问题,那这篇文章就是为你写的,这篇文章将带你入门python调试器。python标准库提供了一个叫pdb的调试器,它提供了调试所需的绝大多数常用功能,比如断点、单行步进、堆栈帧数据的检查等。了解一些python pdb的基本用法和知识,将极大的提高我们的开发技能和效率,节省排查bug的时间。

现在我们使用pdb对下面这个简单的python程序进行调试,以演示pdb的基本用法。

运行pdb调试器

在python解释器的命令行参数中添加“-m pdb”就可以启动pdb调试器对应用程序进行调试,如下:

除此之外,还可以通过在程序中设置断点的方式启动调试器。首先导入pdb模块并在需要暂停处调用set_trace函数设置断点。

直接执行加入了断点的程序,程序会自动暂停在设置了断点处。

查看程序执行栈

python调试器启动后,可以通过下面这些命令当前栈的信息。

w(here):显示当前执行的行以及执行栈的位置。

l(ist):显示当前位置的代码。

u(p)/d(own):往上或往下切换调用栈。

单步调试

n(ext):执行当前函数下一行代码。

s(tep):执行下一行代码,如果调用函数就会进入被调用的函数。

c(ontinue):继续执行直到遇到下一个断点。

检查变量内容

在调试器中,可以使用args命令打印当前函数的变量,如下所示:

使用命令是 p(rint)可以打印单个变量的内容,还可以对表达式求值。

最后

介绍了pdb的基本用法,python 文档包含每个 pdb 命令的参考和示例,具体需要时请查阅。

python的调试器_玩转Python调试器相关推荐

  1. python短信验证码_玩转python之获取短信验证码

    原标题:玩转python之获取短信验证码 对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 第三方短 ...

  2. python逐个读取字符_玩转python之字符串逐个字符或逐词反转

    众所周知,python中的字符串是无法改变的,反转一个字符串自然要创建一个拷贝:最简单的方法,当然是步长为"-1"的切片: result = astring[::-1] 如果要是按 ...

  3. python爬虫经典段子_玩转python爬虫之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  4. python批量转换数据类型_玩转python 各种数据类型的转换

    # -*- coding: utf-8 -*- # @Time : 2019/4/28 14:27 # @Author : wujf # @Email : 1028540310@qq.com # @F ...

  5. python 调试器_如何使用Python调试器

    python 调试器 Python编程语言的强大功能和灵活性源于强大的标准库和丰富的第三方软件生态系统. Python程序员可以利用许多有用的工具,并且这些工具也可以扩展到调试. 可以使用许多具有调试 ...

  6. python简单装饰器_简单介绍Python装饰器(一)

    装饰器的作用 相信大家在 探索过程中已经了解装饰器的作用,也有很多花里胡哨的介绍. 这次小冰也来讲解一下关于Python装饰器的一些小知识. 它的作用: 性能测试 日志 安全验证 ...... 相信大 ...

  7. 什么是python装饰器_深入理解 Python 装饰器

    作者简介 曾凡伟,携程信息安全部高级安全工程师,2015年加入携程,主要负责安全自动化产品的设计和研发,包括各类扫描器.漏洞管理平台.安全 SaaS 平台等. Python 是一门追求优雅编程的语言, ...

  8. python 小说下载工具_下载代码python之小说下载器

    时光紧张,先记一笔,后续优化与完善. 首先声明,我写这个是为了练手,我不看小说了.因为眼睛近视太厉害了,我连手机都不玩了. 小说下载器的目标是为了解决当初市面上能下载最新小说的网站是在太少了,但是在线 ...

  9. python空集_玩转Python集合,这一篇就够了!

    原标题:玩转Python集合,这一篇就够了! 点上方蓝色" 菜鸟学Python",选" 星标"公众号 重磅干货,第一时间送到 选自DataCamp, 作者:Mi ...

最新文章

  1. dnf用虚拟机会被制裁吗_差点把DNF搞关服的私服,这次终于被大话西游手游拿下了...
  2. 往有序链表的插入元素使原链表依旧有序
  3. AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛——11:05-11:35杜博文教授《基于广义时空数据挖掘的交通复杂行为认知-从研究到工业》
  4. 技术型产品经理与系统设计
  5. Oracle脑裂 驱逐,了解Oracle RAC Brain Split Resolution集群脑裂协议
  6. POJ 3087 Shuffle'm Up 线性同余,暴力 难度:2
  7. 如何在Marketing Cloud里创建extension field扩展字段
  8. 【计算机网络】TCP/IP 模型与OSI参考模型的比较
  9. django (三) admin后台系统
  10. asp.net core mvc实现伪静态功能
  11. I. Intersections
  12. mybatis的动态sql学习注意点!!!
  13. 关于‘挖矿’minerd
  14. [Kali_Nethunter] Kali 推出Android端渗透测试系统Nethunter
  15. android widget包说明与应用
  16. 微信电脑端突然发送不了文件了
  17. ImagePicker 打开前置摄像头
  18. 上传声音 微信小程序_微信小程序之----audio音频播放
  19. 实现表格内容第一行居中,其他行与第一行左对齐
  20. 运维工程师一天的日常都在做什么?

热门文章

  1. 倒计时7天:招行、平安齐聚DTC 2019之金融峰会,讲师议题抢先看
  2. 只需2步,教你在Vue中设置登录验证拦截
  3. 为什么说容器的崛起预示着云原生时代到来?
  4. 为机场按上一双“慧眼”消灭飞机的“黑色十分钟”
  5. 云图说|小云妹-DDS实例安全基本操作
  6. 与台风相伴,他们是前行的逆风者
  7. 华为云社区·CSDN【寻找黑马程序员】有奖征文活动,邀你挥洒才情
  8. colorkey唇釉是否安全_好物推荐|哇哦!有被这些唇釉美到耶
  9. Think in Java第四版 读书笔记7第13章 字符串
  10. 基于Matlab的跨孔电磁波\跨孔雷达的直射线追踪(一)