如何使用 Python 调试器

简介

在软件开发中,调试 是查找并解决阻止软件正确运行的问题的过程。

Python 调试器为 Python 程序提供了一个调试环境。它支持设置条件断点、逐行浏览源代码、堆栈检查等功能。

先决条件

您应该已经安装了 Python 3,并在计算机或服务器上设置了编程环境。如果您还没有设置编程环境,可以参考适用于您操作系统(Ubuntu、CentOS、Debian 等)的本地编程环境或服务器编程环境的安装和设置指南。

与 Python 调试器的交互工作

Python 调试器作为 Python 标准发行版的一部分,以一个名为 pdb 的模块的形式提供。调试器也是可扩展的,定义为 Pdb 类。您可以阅读 pdb 的官方文档以了解更多信息。

我们将从一个简短的程序开始,该程序有两个全局变量、一个创建嵌套循环的函数,以及调用 nested_loop() 函数的 if __name__ == '__main__': 结构。

num_list = [500, 600, 700]
alpha_list = ['x', 'y', 'z']


def nested_loop():
    for number in num_list:
        print(number)
        for letter in alpha_list:
            print(letter)

if __name__ == '__main__':
    nested_loop()

我们可以通过以下命令使用 Python 调试器运行此程序:

python -m pdb looping.py

-m 命令行标志将为您导入任何 Python 模块并将其作为脚本运行。在这种情况下,我们正在导入并运行 pdb 模块,如上所示。

运行此命令后,您将收到以下输出:

> /Users/sammy/looping.py(1)<module>()
-> num_list = [500, 600, 700]
(Pdb) 

在输出中,第一行包含当前模块名称(如 <module> 所示)和目录路径,以及随后的打印行号(在本例中为 1,但如果有注释或其他不可执行行,则可能是更高的数字)。第二行显示了在此处执行的源代码的当前行,因为 pdb 提供了一个用于调试的交互式控制台。您可以使用 help 命令来了解其命令,使用 help command 来了解有关特定命令的更多信息。请注意,pdb 控制台与 Python 交互式 shell 不同。

当 Python 调试器到达程序末尾时,它将自动重新开始。每当您想要离开 pdb 控制台时,请键入 quitexit 命令。如果您想要在程序的任何位置显式重新启动程序,可以使用 run 命令。

使用调试器浏览程序

在使用 Python 调试器处理程序时,您可能会使用 liststepnext 命令逐行浏览代码。在本节中,我们将介绍这些命令。

在 shell 中,我们可以输入 list 命令以获取当前行的上下文。从上面显示的程序 looping.py 的第一行 — num_list = [500, 600, 700] — 将显示如下内容:

(Pdb) list
  1  -&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张无忌打怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值