Python基础之 Debug调试|Python 主题月

452 阅读2分钟

1. Debug调试

本文正在参加「Python主题月」,详情查看活动链接

调试是一种一旦掌握就可以大大提高你的 bug 搜寻技能的东西。大多数新手都忽略了 Python 调试器 ( pdb)的重要性。在本节中,我将只告诉您一些重要的命令。您可以从官方文档中了解更多信息。

从命令行运行

您可以使用 Python 调试器从命令行运行脚本。下面是一个例子:

单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式

$ python -m pdb test.py  # test.py需要调试的文件

它会导致调试器在它找到的第一个语句上停止执行。如果您的脚本很短,这会很有帮助。然后,您可以检查变量并继续逐行执行。

从脚本内部运行

您可以在脚本本身中设置断点,以便您可以在特定点检查变量和内容。使用该pdb.set_trace()方法可以做到这一点 。下面是一个例子:

import pdb

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

print(test())

保存后尝试运行上面的脚本。您将在运行后立即进入调试器。现在是时候学习调试器的一些命令了。

命令:

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

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

这些只是一些命令。pdb还支持事后分析。这也是一个非常方便的功能。我强烈建议您查看官方文档并了解更多信息。

注意:

    1:直接输入Enter,会执行上一条命令;

    2:输入不认识的命令,会把他当做Python语句在当前环境下执行;