<html lang="en">
<head>
<title>Stack - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Process-Record-and-Replay.html#Process-Record-and-Replay" title="Process Record and Replay">
<link rel="next" href="Source.html#Source" title="Source">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Stack"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Source.html#Source">Source</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Process-Record-and-Replay.html#Process-Record-and-Replay">Process Record and Replay</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<h2 class="chapter">8 Examining the Stack</h2>

<p>When your program has stopped, the first thing you need to know is where it
stopped and how it got there.

   <p><a name="index-call-stack-502"></a>Each time your program performs a function call, information about the call
is generated. 
That information includes the location of the call in your program,
the arguments of the call,
and the local variables of the function being called. 
The information is saved in a block of data called a <dfn>stack frame</dfn>. 
The stack frames are allocated in a region of memory called the <dfn>call
stack</dfn>.

   <p>When your program stops, the <span class="sc">gdb</span> commands for examining the
stack allow you to see all of this information.

   <p><a name="index-selected-frame-503"></a>One of the stack frames is <dfn>selected</dfn> by <span class="sc">gdb</span> and many
<span class="sc">gdb</span> commands refer implicitly to the selected frame.  In
particular, whenever you ask <span class="sc">gdb</span> for the value of a variable in
your program, the value is found in the selected frame.  There are
special <span class="sc">gdb</span> commands to select whichever frame you are
interested in.  See <a href="Selection.html#Selection">Selecting a Frame</a>.

   <p>When your program stops, <span class="sc">gdb</span> automatically selects the
currently executing frame and describes it briefly, similar to the
<code>frame</code> command (see <a href="Frame-Info.html#Frame-Info">Information about a Frame</a>).

<ul class="menu">
<li><a accesskey="1" href="Frames.html#Frames">Frames</a>:                       Stack frames
<li><a accesskey="2" href="Backtrace.html#Backtrace">Backtrace</a>:                    Backtraces
<li><a accesskey="3" href="Selection.html#Selection">Selection</a>:                    Selecting a frame
<li><a accesskey="4" href="Frame-Info.html#Frame-Info">Frame Info</a>:                   Information on a frame
<li><a accesskey="5" href="Frame-Apply.html#Frame-Apply">Frame Apply</a>:                  Applying a command to several frames
<li><a accesskey="6" href="Frame-Filter-Management.html#Frame-Filter-Management">Frame Filter Management</a>:      Managing frame filters

   </ul>

   </body></html>

