您可以使用Pdb 进行命令行调试。
它有一个参数b(reak),允许您指定要在其中设置断点的行号。
这肯定比使用合适的 IDE 更麻烦,但在某些情况下肯定会有所帮助。
示例:
简单示例脚本(example.py):
a = 2
b = 5
c = a + b
print("{0} + {1} = {2}".format(a, b, c))
启动调试器:
python3 -m pdb example.py
现在调试器将启动并指向第一行。然后我们可以使用命令(参见上面链接的文档)来逐步执行代码。一个例子:
> /home/[...]/example.py(1)<module>()
-> a = 2
(Pdb) b 4
Breakpoint 1 at /home/[...]/example.py:4
(Pdb) c
> /home/[...]/example.py(4)<module>()
-> c = a + b
(Pdb) s
> /home/[...]/example.py(6)<module>()
-> print("{0} + {1} = {2}".format(a, b, c))
(Pdb) p c
7
(Pdb)
解释:每行带有(Pdb) 的都是一个提示,您可以在其中输入命令。以下是我输入的命令:
-
b 4 在第 4 行设置断点。这一点由下一行确认。
-
c 继续运行脚本,直到命中下一个断点。正如您在下一行中看到的,调试器现在停止在脚本的第 4 行 c = a + b。
-
s 执行了一步,所以我们现在处于打印语句。
-
p c 打印表达式“c”的值,在这种情况下,它只是变量 c 的值:7
有关更多命令及其解释,请再次查看官方文档。希望这是一个关于如何使用 Pdb 的非常基本的介绍。