Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Stack trace
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Report of stack frames during program execution}} {{Redirect|Backtrace|the 2018 film|Backtrace (film)}} In [[computing]], a '''stack trace''' (also called '''stack backtrace'''<ref>{{cite web | url=https://www.gnu.org/software/libc/manual/html_node/Backtraces.html | title=libc manual: backtraces | publisher=gnu.org | accessdate=8 July 2014}}</ref> or '''stack traceback'''<ref>{{cite web | url=https://docs.python.org/3/library/traceback.html | title=traceback β Print or retrieve a stack traceback | publisher=python.org | accessdate=8 July 2014}}</ref>) is a report of the active [[stack frame]]s at a certain point in time during the execution of a [[computer program|program]]. When a program is run, memory is often dynamically allocated in two places: the [[Stack (abstract data type)#Hardware stack|stack]] and the [[Memory_management#HEAP|heap]]. Memory is continuously allocated on a stack but not on a heap. Stack also refers to a programming construct, thus to differentiate it, this stack is referred to as the program's '''[[Call stack|function call stack]]'''. Technically, once a block of memory has been allocated on the stack, it cannot be easily removed as there can be other blocks of memory that were allocated after it. Each time a function is called in a program, a block of memory called an '''activation record''' is allocated on top of the call stack. Generally, the activation record stores the function's arguments and local variables. What exactly it contains and how it's laid out is determined by the [[calling convention]]. Programmers commonly use stack tracing during interactive and post-mortem [[debugging]]. End-users may see a stack trace displayed as part of an [[error message]], which the user can then report to a programmer. A stack trace allows tracking the sequence of [[nested function]]s called - up to the point where the stack trace is generated. In a post-mortem scenario this extends up to the function where the failure occurred (but was not necessarily caused). [[Tail call|Sibling calls]] do not appear in a stack trace.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)