The call stack represents all currently active routines--those that have been called but have not yet returned to their respective caller. In the stack, the functions and their arguments are listed in the order that they were called. The initial function (main() for C and C++ programs) is at the top of the Stack pane; the function executing when the program stopped is at the bottom of the Stack pane. This function is known as the stopped in function.
The stopped in function is listed in the Stopped In status line in the Debug Status area of the Debugging window (see Figure 5-1). The source code of the stopped in function is displayed in the editor window with the next line to be executed highlighted in green.
The Evaluation Context line in the status area provides the name of the context function, which determines the scope resolution search order that applies when you provide a symbol name in various debugging operations.
You can examine the call stack by doing any of the following:
Move up one level in the stack by clicking the Up button or choosing Stack > Up.
Move down one level in the stack by clicking the Down button or choosing Stack > Down.
Remove multiple frames by placing your cursor next to the frame you want to return to and choosing Stack > Pop to Current Frame.
Remove the function you are stopped in from the stack by choosing Stack > Pop.
Remove multiple frames by placing your pointer next to the frame you want to return to and choosing Stack > Pop to Current Frame.