一日一技:python的调试器–pdb[通俗易懂]

一日一技:python的调试器–pdb[通俗易懂]pdb调试器pdb调试功能一旦学习掌握下来了,它可以极大地提高我们的Bug搜寻技巧。 大多数学习者都忽略了Python调试器(pdb)的重要性。

pdb调试器

pdb调试功能一旦学习掌握下来了,它可以极大地提高我们的Bug搜寻技巧。 大多数学习者都忽略了Python调试器(pdb)的重要性。 在这一节中,我仅告诉一些重要的命令。 你可以去官方文档中了解更多信息命令。

从命令行运行

我们可以使用Python调试器从命令行运行脚本。 以下举个例子说明:

$ python -m pdb my_script.py

运行上述代码,将导致调试器在找到的第一条语句上停止执行。 如果写的脚本比较简短,那么这将很有帮助。 然后,你可以检查变量并继续逐行执行。


从脚本内部运行

我们可以在脚本中设置断点,方便检查特定点处的变量和内容。 使用pdb.set_trace()方法可以实现。 以下是一个例子:

import pdb

def make_bread():
    pdb.set_trace()
    return "I don't have time"

print(make_bread())

保存后,尝试运行上述脚本。 我们将在运行调试器后立即进入调试器。 以下是学习调试器的一些命令:

c:继续执行
w:显示正在执行的当前行的上下文。
a:打印当前函数的参数列表
s:执行当前行并在第一个可能的情况下停止。
n:继续执行,直到到达当前函数的下一行或它返回为止。

next和step之间的区别在于,step停在被调用函数内部,而next则以(几乎)全速执行被调用函数,仅在当前函数的下一行停止。

这些只是部分命令。 pdb是一个非常方便的功能。 强烈建议您查看官方文档并了解更多信息,直接搜索“pdb — The Python Debugger”直达。


请注意:

如果是刚开始学习pdb,那么使用pdb.set_trace()并不直观。 不过幸运的是,如果使用的是Python 3.7+以上版本,那么我们可以直接使用breakpoint()[python的内置函数],它会自动导入pdb并调用pdb.set_trace()方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/11710.html

(0)

相关推荐

  • 什么是脏读,不可重复读,幻读_什么是脏读,不可重复读,幻读

    什么是脏读,不可重复读,幻读_什么是脏读,不可重复读,幻读在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题。 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏

    2023-02-10
    156
  • Python 强制类型转化教程

    Python 强制类型转化教程Python作为一门高级语言,其默认情况下都是采用动态类型语言进行编程的。然而,有时候你可能需要在程序中对数据类型进行强制转换。比如说你需要在字符串和整数之间进行加减操作,或者将一个整数转化为一个浮点数。本文将介绍Python的强制类型转化,也称为类型转换。读完本文,你将能够在Python程序中对数据类型进行强制转换,从而更好地控制程序的输出。

    2024-05-04
    66
  • Mysql Join-连接查询(中)

    Mysql Join-连接查询(中)Mysql Join 连接查询(中) 认识 就我平时的数据接触来看, 连接查询也没有很复杂,不够是非常需要耐心和逻辑的, 一点点将数据查出来, 拼接等. 没有什么技巧, 多练习就会了. 无非就是 表之

    2022-12-17
    152
  • Python中import的用法

    Python中import的用法在Python中,我们可以把模块(module)理解为代码的组织单元,一个模块通常包含若干函数、类、变量等等。一个代码文件就是一个模块,而多个模块可以组合成一个Python程序。

    2024-06-12
    50
  • 第一节 常用的一些命令[亲测有效]

    第一节 常用的一些命令[亲测有效]1 –默认引擎:INNODB支持事务处理、外键和行级锁 2 3 –mysql -uroot -p 4 –登录数据库 5 6 SHOW DATABASES; 7 –查看数据库列表 8 9 SEL

    2023-02-02
    163
  • Druid入门(1)—— 快速入门实时分析利器-Druid_0.17[通俗易懂]

    Druid入门(1)—— 快速入门实时分析利器-Druid_0.17[通俗易懂]一、安装准备 本次安装的版本是截止2020.1.30最新的版本0.17.0 软件要求 需要 Java 8(8u92 +) 以上的版本,否则会有问题 Linux,Mac OS X或其他类似Unix的操作

    2023-01-27
    142
  • Cassandra 在 360 的实践与改进[通俗易懂]

    Cassandra 在 360 的实践与改进[通俗易懂]分享嘉宾:王锋 奇虎360 技术总监 文章整理:王彦 内容来源:Cassandra Meetup 出品平台:DataFunTalk 注:欢迎转载,转载请留言。 导读:2010年,Dropbox 在线云

    2023-01-31
    150
  • Python工程师如何使用匿名IP

    Python工程师如何使用匿名IP匿名IP是一种通过代理服务器将原始IP地址隐藏起来,从而保护隐私的方法,使得网络安全能够得到有效地保障。匿名IP的使用方法是通过连接到代理服务器,通过代理服务器访问网络,从而避免了直接向目标服务器访问而暴露IP地址的问题。

    2024-06-23
    40

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注