Oracle® Solaris Studio 12.4: Debugging a Program With dbx

Exit Print View

Updated: January 2015
 
 
Chapter 7

Using the Call Stack

This chapter discusses how dbx uses the call stack, and how to use the where command, hide command, unhide command, and pop command when working with the call stack.

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.