Python:堆栈跟踪与回溯
Posted
技术标签:
【中文标题】Python:堆栈跟踪与回溯【英文标题】:Python: Stacktrace vs Traceback 【发布时间】:2018-07-02 08:39:24 【问题描述】:在 Python 世界中,有两个术语似乎是相等的:
堆栈跟踪 追溯这两者有区别吗?
【问题讨论】:
【参考方案1】:Traceback 是 Python 的惯用术语(例如,traceback module),它经常与用于其他语言(如 Java)的 stacktrace 互换使用。
【讨论】:
【参考方案2】:Stacktrace
是方法调用堆栈的跟踪,与正在执行程序的计算机的内存中完全相同。
所以最近的方法调用在顶部;问题的根源也可能在顶部。
几乎所有编程语言都是这样做的。
Traceback
是 Python “发明”的东西:它与上述相反。因此,要找到问题的根源,您需要从底部开始阅读它,因为这显然更容易被 pythonists 阅读。
为了清楚起见,他们必须指定“最近一次通话”。
将“stacktrace”称为“traceback”是完全错误的:traceback 不是堆栈的跟踪。这是一个反向的堆栈跟踪:“返回”可能是这样的。
在堆栈的顶部,在任何意义上,您都有最近的项目。
【讨论】:
以上是关于Python:堆栈跟踪与回溯的主要内容,如果未能解决你的问题,请参考以下文章