A stack trace is a report of the active stack frames at a certain point in time during the execution of a program and is often referred to as a stack backtrace.
A stack trace is commonly used during interactive and post-mortem debugging. It typically lists all the functions awaiting return values on the stack at the time of the error. By examining what is on the stack and comparing it to what you expect, you can often determine how the error occurred. By inspecting the function containing the error, you may be able to edit and correct the problem.
A stack trace allows to track the sequence of nested functions called up to the point where the stack trace is generated. In a post-mortem scenario this is up to function where the failure occurred (but not necessarily is caused there). Sibling function calls are not visible in a stack trace.
Before you start
Please browse the list of frequently asked questions to see if your question is similar to one that has already been answered.
The stack-trace tag should be used to mark questions related to generating, interpreting, debugging, or otherwise understanding stack traces.