What is the difference between Call Stack and Stac

2019-03-22 19:29发布

What is the difference between the terms "Call Stack" and "Stack Trace" ?

3条回答
ら.Afraid
2楼-- · 2019-03-22 20:01

A call stack is typically "the current stack of operations" - i.e. while it's running.

A stack trace is typically a copy of the call stack which is logged at some sort of failure, e.g. an exception.

In other words, while you're debugging you will look at the current call stack - but when you look at logs, you'll get a stack trace. At least, that's my interpretation of the terms :)

查看更多
Fickle 薄情
3楼-- · 2019-03-22 20:03

I think Wikipedia does a fairly good job at distinguishing between them:

a call stack is a stack data structure that stores information about the active subroutines of a computer program

A stack trace is a report of the active stack frames at a certain point in time during the execution of a program.

In other words, the call stack is the actual data structure in memory, while the stack trace is a snapshot of said data structure.

查看更多
趁早两清
4楼-- · 2019-03-22 20:21

Call stack is a data structure storing information about active subroutines in a running program. Stack trace is a representation of the call stack.

查看更多
登录 后发表回答