1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<!-- Copyright (C) 1988-2021 Free Software Foundation, Inc. 4 5Permission is granted to copy, distribute and/or modify this document 6under the terms of the GNU Free Documentation License, Version 1.3 or 7any later version published by the Free Software Foundation; with the 8Invariant Sections being "Free Software" and "Free Software Needs 9Free Documentation", with the Front-Cover Texts being "A GNU Manual," 10and with the Back-Cover Texts as in (a) below. 11 12(a) The FSF's Back-Cover Text is: "You are free to copy and modify 13this GNU Manual. Buying copies from GNU Press supports the FSF in 14developing GNU and promoting software freedom." --> 15<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> 16<head> 17<title>Debugging with GDB: Stack</title> 18 19<meta name="description" content="Debugging with GDB: Stack"> 20<meta name="keywords" content="Debugging with GDB: Stack"> 21<meta name="resource-type" content="document"> 22<meta name="distribution" content="global"> 23<meta name="Generator" content="makeinfo"> 24<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 25<link href="index.html#Top" rel="start" title="Top"> 26<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index"> 27<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> 28<link href="index.html#Top" rel="up" title="Top"> 29<link href="Frames.html#Frames" rel="next" title="Frames"> 30<link href="Process-Record-and-Replay.html#Process-Record-and-Replay" rel="previous" title="Process Record and Replay"> 31<style type="text/css"> 32<!-- 33a.summary-letter {text-decoration: none} 34blockquote.smallquotation {font-size: smaller} 35div.display {margin-left: 3.2em} 36div.example {margin-left: 3.2em} 37div.indentedblock {margin-left: 3.2em} 38div.lisp {margin-left: 3.2em} 39div.smalldisplay {margin-left: 3.2em} 40div.smallexample {margin-left: 3.2em} 41div.smallindentedblock {margin-left: 3.2em; font-size: smaller} 42div.smalllisp {margin-left: 3.2em} 43kbd {font-style:oblique} 44pre.display {font-family: inherit} 45pre.format {font-family: inherit} 46pre.menu-comment {font-family: serif} 47pre.menu-preformatted {font-family: serif} 48pre.smalldisplay {font-family: inherit; font-size: smaller} 49pre.smallexample {font-size: smaller} 50pre.smallformat {font-family: inherit; font-size: smaller} 51pre.smalllisp {font-size: smaller} 52span.nocodebreak {white-space:nowrap} 53span.nolinebreak {white-space:nowrap} 54span.roman {font-family:serif; font-weight:normal} 55span.sansserif {font-family:sans-serif; font-weight:normal} 56ul.no-bullet {list-style: none} 57--> 58</style> 59 60 61</head> 62 63<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> 64<a name="Stack"></a> 65<div class="header"> 66<p> 67Next: <a href="Source.html#Source" accesskey="n" rel="next">Source</a>, Previous: <a href="Process-Record-and-Replay.html#Process-Record-and-Replay" accesskey="p" rel="previous">Process Record and Replay</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> 68</div> 69<hr> 70<a name="Examining-the-Stack"></a> 71<h2 class="chapter">8 Examining the Stack</h2> 72 73<p>When your program has stopped, the first thing you need to know is where it 74stopped and how it got there. 75</p> 76<a name="index-call-stack"></a> 77<p>Each time your program performs a function call, information about the call 78is generated. 79That information includes the location of the call in your program, 80the arguments of the call, 81and the local variables of the function being called. 82The information is saved in a block of data called a <em>stack frame</em>. 83The stack frames are allocated in a region of memory called the <em>call 84stack</em>. 85</p> 86<p>When your program stops, the <small>GDB</small> commands for examining the 87stack allow you to see all of this information. 88</p> 89<a name="index-selected-frame"></a> 90<p>One of the stack frames is <em>selected</em> by <small>GDB</small> and many 91<small>GDB</small> commands refer implicitly to the selected frame. In 92particular, whenever you ask <small>GDB</small> for the value of a variable in 93your program, the value is found in the selected frame. There are 94special <small>GDB</small> commands to select whichever frame you are 95interested in. See <a href="Selection.html#Selection">Selecting a Frame</a>. 96</p> 97<p>When your program stops, <small>GDB</small> automatically selects the 98currently executing frame and describes it briefly, similar to the 99<code>frame</code> command (see <a href="Frame-Info.html#Frame-Info">Information about a Frame</a>). 100</p> 101<table class="menu" border="0" cellspacing="0"> 102<tr><td align="left" valign="top">• <a href="Frames.html#Frames" accesskey="1">Frames</a>:</td><td> </td><td align="left" valign="top">Stack frames 103</td></tr> 104<tr><td align="left" valign="top">• <a href="Backtrace.html#Backtrace" accesskey="2">Backtrace</a>:</td><td> </td><td align="left" valign="top">Backtraces 105</td></tr> 106<tr><td align="left" valign="top">• <a href="Selection.html#Selection" accesskey="3">Selection</a>:</td><td> </td><td align="left" valign="top">Selecting a frame 107</td></tr> 108<tr><td align="left" valign="top">• <a href="Frame-Info.html#Frame-Info" accesskey="4">Frame Info</a>:</td><td> </td><td align="left" valign="top">Information on a frame 109</td></tr> 110<tr><td align="left" valign="top">• <a href="Frame-Apply.html#Frame-Apply" accesskey="5">Frame Apply</a>:</td><td> </td><td align="left" valign="top">Applying a command to several frames 111</td></tr> 112<tr><td align="left" valign="top">• <a href="Frame-Filter-Management.html#Frame-Filter-Management" accesskey="6">Frame Filter Management</a>:</td><td> </td><td align="left" valign="top">Managing frame filters 113</td></tr> 114<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> 115</pre></th></tr></table> 116 117<hr> 118<div class="header"> 119<p> 120Next: <a href="Source.html#Source" accesskey="n" rel="next">Source</a>, Previous: <a href="Process-Record-and-Replay.html#Process-Record-and-Replay" accesskey="p" rel="previous">Process Record and Replay</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> 121</div> 122 123 124 125</body> 126</html> 127