我在脚本中使用pdb.set_trace()
来设置断点。
但我无法弄清楚函数调用set_trace
的原因。
似乎trace
经常出现在执行或调试程序的讨论中。
trace
在执行或调试程序时的含义是什么?
感谢。
答案 0 :(得分:3)
Python调试器是在sys.settrace
函数之上实现的。这是一种注册Python函数的方法,该函数将针对每个执行的代码行调用。当Python解释器执行您的代码时,它将为它遇到的每一行调用跟踪函数。跟踪功能可以做任何事情。
调试器具有跟踪功能,用于跟踪代码的执行情况。例如,它检查当前的堆栈帧,看看你是否已经到达断点。 pdb.set_trace
表示"使用sys.settrace将pdb跟踪功能设置为跟踪功能。"
它不是一个好名字,因为它描述了该功能的实现方式,而不是它为用户所做的事情。
答案 1 :(得分:1)
与许多计算机术语一样,它是对现实世界中某些事物的隐喻。以下是跟踪
的相关dictionary定义通过计算机程序跟踪进度类似于遵循已经过去的路径。
通常,当我们引用一般的跟踪时,它是一个显示程序所有活动的调试应用程序。设置断点被视为此的一部分。