In a multithreaded program, these commands operate on the call stack of the current thread. See thread Command for information on how to change the current thread.
The call stack represents all currently active routines, routines that have been called but have not yet returned to their respective caller. A stack frame is a section to the call stack allocated for use by a single function.
Because the call stack grows from higher memory (larger addresses) to lower memory, up means going toward the caller’s frame (and eventually main() or the starting function of the thread) and down means going toward the frame of the called function (and eventually the current function). The frame for the routine executing when the program stopped at a breakpoint, after a single-step, or when a fault occurs and produces a core file, is in lower memory. A caller routine, such as main(), is located in higher memory.
This chapter is organized into the following sections: