【问题标题】:How can i debug my code from the terminal?如何从终端调试我的代码?
【发布时间】:2018-12-24 23:04:57
【问题描述】:

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

python testings.py --annotations=input.csv

【问题讨论】:

标签: python python-3.x debugging pycharm


【解决方案1】:

您可以使用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 执行了一步,所以我们现在处于打印语句。
  4. p c 打印表达式“c”的值,在这种情况下,它只是变量 c 的值:7

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

【讨论】:

  • 有兴趣可以添加一个如何指定行的小例子
猜你喜欢
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 2022-11-16
  • 2013-04-14
  • 2012-09-04
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多