Debugging with GDB Manual (5900-1473; WDB 6.2; January 2011)

Table Of Contents
6.2 Stacks Without frames
Some compilers provide a way to compile functions so that they operate without stack
frames. (For example, the gcc option
'-fomit-frame-pointer'
generates functions without a frame.) This is occasionally done with heavily used library
functions to save the frame setup time. GDB has limited facilities for dealing with these
function invocations. If the innermost function invocation has no stack frame, GDB
nevertheless regards it as though it had a separate frame, which is numbered zero as
usual, allowing correct tracing of the function call chain. However, GDB has no provision
for frameless functions elsewhere in the stack.
6.3 Commands for Examining the Stack
The following commands are used for examining the stack:
frame args Select and print a stack frame. With no argument, prints the selected
stack frame. An argument specifies the frame to select. It can be a
stack frame number or the address of the frame. With argument,
nothing is printed if input is coming from a command file or a
user-defined command.
select-frame The select-frame command allows you to move from one stack
frame to another without printing the frame. This is the silent version
of frame.
6.4 Backtraces
A backtrace is a report of the active stack frames instantiated by the execution of a
program. It shows one line per frame, for all the active frames, starting with the currently
executing frame (frame zero), followed by its caller (frame one), and on up the stack.
The following commands are used for backtrace:
backtrace, bt , ba, bac,
where
Print a backtrace of the entire stack: one line per
frame for all frames in the stack.
You can stop the backtrace at any time by typing the
system interrupt character, normally C-c.
backtrace n, bt n Similar, but print only the innermost n frames.
backtrace -n, bt -n Similar, but print only the outermost n frames.
backtrace-other-thread Print backtrace of all stack frames for a thread with
stack pointer SP and program counter PC. This
command is useful in cases where the debugger does
not support a user thread package fully.
6.2 Stacks Without frames 67