<HTML>
<HEAD>
<TITLE>Stack Window Help</TITLE>
</HEAD>
<BODY>
<H1>The Stack Window</H1>
<H3>Overview</H3>
<P>The Stack Window allows users to view the call stack and jump between
levels of the stack. To use the Stack Window in tracepoint mode, the
stack pointer must be collected. See
<A HREF="tracedlg.html#t_actions_add">Adding an Action</A> in the Tracepoint
Dialog for more information on collecting registers.</P>

<P>Stack Window topics:
<UL>
    <LI><UL><A HREF="#display">Stack Display</A>
            <LI><A HREF="#display_nav">Navigating the Stack Window</A>
            <LI><A HREF="#display_lvl">Changing the Stack Level</A>
        </UL>
</UL></P>

<H3><A NAME="display">Stack Display</A></H3>
The Stack Display consists of a listbox which displays levels of the call stack
one per line. Each line contains the level number (useful when using the <A
HREF="console.html">Console Window</A>) and a description of the function executing
in that level. Typically, the function name and either the address of the function
or the file and line number where the function is defined are displayed. The
Stack Window may also be used to jump between levels of the stack.
<BR>

<H4><A NAME="display_nav">Navigating the Stack Window</A></H4>
Navigation of the Stack Window is accomplished by clicking on the desired level
with the left mouse button. The <A HREF="source.html#display">Source Window
Display</A> updates to show the selected frame. All other secondary windows,
<A HREF="register.html">Registers</A>, <A HREF="watch.html">Watch</A>, and
<A HREF="locals.html">Locals</A> update their displays for the selected frame.
<BR>

<H4><A NAME="display_lvl">Changing Stack Levels</A></H4>
To switch frames, simply click the left mouse button on the desired frame and the
debugger will switch contexts, updating all windows. The selected frame is highlighted
(in gold, by default).

<P>As an alternative, changing stack levels may be accomplished via the
<A HREF="source.html#toolbar_frame">Frame Control Buttons</A> on the Source Window's
Toolbar. These buttons may be used to change frames one level at a time (either
immediately up or immediately down) or to jump to the bottom-most stack frame.
See <A HREF="source.html#toolbar_frame">Source Frame Control Buttons</A> for more
information.</P>
</BODY>
</HTML>
