To open a call stack window, do one of the following:
The following are the buttons on the toolbar.
To the far right of the toolbar is the "Max Depth" field, which defines the maximum depth the debugger will display the calls stack. You can change it according to your preference. For example, if you're debugging a program on a very slow target and you only care about the first few levels of the call stack, you can decrease the number so that the window is refreshed more quickly.
Below the toolbar is the call stack pane, where the call stack is displayed up to the maximum depth. The following table lists the mouse and keyboard operations in the pane:
In a debugging session, whenever you change a call stack window's attributes (that is, displaying parameters, displaying location), the changes will affect subsequently created call stack windows until you change them the next time. You can also change these attributes with the cvconfig command. See cvconfig.
Suppose from the command pane, you make a function call into the debugged program, and suppose the program is stopped before the function returns to you, for example, because it hits a breakpoint. If you open a call stack window now, you will see two parts in the call stack pane. The bottom part is the call stack before you call the function, the top part is the call stack starting from the function.
At the beginning and end of every function is a region called the prologue and epilogue. Inside this region of code, various registers may be saved and restored, and the stack pointer may be modified. Full source-level debugging is not possible within these regions. This is why no source level breakpoints are displayed here. You may single step at the machine level through this code, but you cannot trace the stack, or examine variables, or perform many other tasks until you are outside this region.