<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" style="task" id="debug-stack" xml:lang="de">

  <info xmlns:facet="http://projectmallard.org/facet/1.0/">
    <facet:tag key="all-pages" value="whatever"/> <!--Include page in index-->
    <link type="guide" xref="debug-data" group="fourth"/>
    <revision pkgversion="3.0" version="0.1" date="2011-03-27" status="incomplete"/>
    <desc>
      Examine the stack.
    </desc>
    <credit type="author">
      <name>Sébastien Granjoux</name>
      <email>seb.sfo@free.fr</email>
    </credit>
    <credit type="editor">
      <name>Philip Chimento</name>
      <email>philip.chimento@gmail.com</email>
    </credit>
  </info>

  <title>Stack</title>

  <section>
    <title>List stack frames</title>

    <p>A stack frame is the area of the stack associated to each function call.
    It lists all functions and their arguments in the sequence they were called.
    Each stack frame is numbered starting from 0 for the current function.
    You can only view the stack frames while the debugger is running.</p>

    <steps>
      <item>
        <p>From the <gui>main menu</gui>, select <guiseq><gui>View</gui>
        <gui>Stack</gui></guiseq> to open the <gui>Stack</gui>
        window.</p>
      </item>
    </steps>

    <p>Each stack frame contains the following information:</p>	

    <terms>
      <item>
        <title>Aktiv</title>
        <p>This contains a yellow arrow to represent the active stack frame. By
        default it is frame 0, the current function. All evaluations and
        local variables are relative to this active frame. You can change
        the active stack frame to examine local variables in other functions.</p>
      </item>
      <item>
        <title>Frame</title>
        <p>This is the frame number starting from 0 for the current function.
        The first function of your program, for example <code>main()</code> in a C program,
        has the highest number.</p>
      </item>
      <item>
        <title>Datei</title>
        <p>The name of the file containing the function corresponding to
        this frame.</p>
      </item>
      <item>
        <title>Zeile</title>
        <p>The line number of the function corresponding to this frame.</p>
      </item>
      <item>
        <title>Funktion</title>
        <p>The name of the function corresponding to this frame.</p>
      </item>
      <item>
        <title>Adresse</title>
        <p>The address of the function corresponding to this frame.</p>
      </item>
      <item>
        <title>Argumente</title>
        <p>Die Funktionsargumente.</p>
      </item>
    </terms>

  </section>


  <section>
    <title>Change the current stack frame</title>

    <steps>
      <item>
        <p>In the <gui>Stack</gui> window, select the frame you want.</p>
      </item>
      <item>
        <p>Right-click and select <gui>Set current frame</gui>.</p>
      </item>
    </steps>
  </section>


  <section>
    <title>Die aktuelle Funktion betrachten</title>

    <steps>
      <item>
        <p>In the <gui>Stack</gui> window, select the frame you want.</p>
      </item>
      <item>
        <p>Double-click, or right-click and select <gui>View Source</gui>.</p>
      </item>
    </steps>
  </section>


  <section>
    <title>Get a stack trace</title>
 
    <steps>
      <item>
        <p>In the <gui>Stack</gui> window, right-click and select
        <gui>Get stack trace</gui>.</p>
      </item>
    </steps>
  </section>


</page>
