【发布时间】:2011-11-20 21:47:02
【问题描述】:
术语“调用堆栈”和“堆栈跟踪”有什么区别?
【问题讨论】:
-
不能说我自己没想到这一点
-
大约 3 个字母?
标签: .net visual-studio stack-trace callstack
术语“调用堆栈”和“堆栈跟踪”有什么区别?
【问题讨论】:
标签: .net visual-studio stack-trace callstack
调用堆栈通常是“当前的操作堆栈” - 即在它运行时。
堆栈跟踪通常是调用堆栈的副本,它会在某种故障时记录下来,例如一个例外。
换句话说,当您在调试时,您将查看当前调用堆栈 - 但是当您查看日志时,您将获得堆栈跟踪。至少,这是我对这些术语的解释:)
【讨论】:
调用堆栈是一种数据结构,用于存储有关正在运行的程序中活动子程序的信息。 堆栈跟踪是调用堆栈的表示。
【讨论】:
我认为维基百科在区分它们方面做得相当好:
调用堆栈是一种堆栈数据结构,用于存储有关计算机程序的活动子例程的信息
堆栈跟踪是程序执行期间某个时间点的活动堆栈帧的报告。
换句话说,调用堆栈是内存中的实际数据结构,而堆栈跟踪是所述数据结构的快照。
【讨论】: