Stack Trace

A stack trace (also called stack backtrace or stack traceback) is a report of the active stack frames at a certain point in time during the execution of a program.

It is commonly used during interactive and post-mortem debugging. It can also be displayed to the user of a program as part of an error message, which a user can report to a programmer.

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.

As an example, the following Python program contains an error.

def a: b def b: c def c: error a

Running the program under the standard Python interpreter produces the following error message.

Traceback (most recent call last): File "tb.py", line 10, in a File "tb.py", line 2, in a b File "tb.py", line 5, in b c File "tb.py", line 8, in c error NameError: global name 'error' is not defined

The stack trace shows where the error occurs, namely in the c function. It also shows that the c function was called by b, which was called by a, which was in turn called by the code on line 10 (the last line) of the program.

Read more about Stack Trace:  Language Support

Famous quotes containing the words stack and/or trace:

    What is a farm but a mute gospel? The chaff and the wheat, weeds and plants, blight, rain, insects, sun—it is a sacred emblem from the first furrow of spring to the last stack which the snow of winter overtakes in the fields.
    Ralph Waldo Emerson (1803–1882)

    Beauty is a precious trace that eternity causes to appear to us and that it takes away from us. A manifestation of eternity, and a sign of death as well.
    Eugène Ionesco (b. 1912)