简介
在软件开发中,调试 是查找并解决阻止软件正确运行的问题的过程。
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 控制台时,请键入 quit 或 exit 命令。如果您想要在程序的任何位置显式重新启动程序,可以使用 run 命令。
使用调试器浏览程序
在使用 Python 调试器处理程序时,您可能会使用 list、step 和 next 命令逐行浏览代码。在本节中,我们将介绍这些命令。
在 shell 中,我们可以输入 list 命令以获取当前行的上下文。从上面显示的程序 looping.py 的第一行 — num_list = [500, 600, 700] — 将显示如下内容:
(P

最低0.47元/天 解锁文章
1223

被折叠的 条评论
为什么被折叠?



