如何从终端调试代码?

时间:2018-07-17 09:42:09

标签: python python-3.x debugging pycharm

如果我想像以前那样在red dots上放置终端上的PyCharm,如何逐步调试python代码,但是在运行文件时却遇到调试困难从python终端使用

命令

python testings.py --annotations=input.csv

1 个答案:

答案 0 :(得分:2)

您可以使用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)的每一行都是提示,您可以在其中输入命令。这是我输入的命令:

  1. b 4在第4行设置一个断点。这由下一行确认。
  2. c继续运行脚本,直到命中下一个断点为止。如您在下一行中看到的那样,调试器现在在脚本的第4行c = a + b处停止。
  3. s执行了一步,因此我们现在处于print语句中。
  4. p c打印出表达式“ c”的值,在这种情况下,它只是变量c的值:7

有关更多命令及其解释,请再次阅读官方文档。希望这是有关如何使用Pdb的非常基本的介绍。