什么"追踪"意思是" pdb.set_trace()"?

时间:2014-09-13 01:46:55

标签: python

我在脚本中使用pdb.set_trace()来设置断点。

但我无法弄清楚函数调用set_trace的原因。

似乎trace经常出现在执行或调试程序的讨论中。 trace在执行或调试程序时的含义是什么?

感谢。

2 个答案:

答案 0 :(得分:3)

Python调试器是在sys.settrace函数之上实现的。这是一种注册Python函数的方法,该函数将针对每个执行的代码行调用。当Python解释器执行您的代码时,它将为它遇到的每一行调用跟踪函数。跟踪功能可以做任何事情。

调试器具有跟踪功能,用于跟踪代码的执行情况。例如,它检查当前的堆栈帧,看看你是否已经到达断点。 pdb.set_trace表示"使用sys.settrace将pdb跟踪功能设置为跟踪功能。"

它不是一个好名字,因为它描述了该功能的实现方式,而不是它为用户所做的事情。

答案 1 :(得分:1)

与许多计算机术语一样,它是对现实世界中某些事物的隐喻。以下是跟踪

的相关dictionary定义
  • 已经过的东西留下的标记或线
  • 由动物,人或车辆通过而形成的路径,小径或道路

通过计算机程序跟踪进度类似于遵循已经过去的路径。

通常,当我们引用一般的跟踪时,它是一个显示程序所有活动的调试应用程序。设置断点被视为此的一部分。