1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Call Stack (GNU Octave (version 10.3.0))</title>
<meta name="description" content="Call Stack (GNU Octave (version 10.3.0))">
<meta name="keywords" content="Call Stack (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Debugging.html" rel="up" title="Debugging">
<link href="Profiling.html" rel="next" title="Profiling">
<link href="Debug-Mode.html" rel="prev" title="Debug Mode">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<div class="section-level-extent" id="Call-Stack">
<div class="nav-panel">
<p>
Next: <a href="Profiling.html" accesskey="n" rel="next">Profiling</a>, Previous: <a href="Debug-Mode.html" accesskey="p" rel="prev">Debug Mode</a>, Up: <a href="Debugging.html" accesskey="u" rel="up">Debugging</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h3 class="section" id="Call-Stack-1"><span>13.5 Call Stack<a class="copiable-link" href="#Call-Stack-1"> ¶</a></span></h3>
<p>The function being debugged may be the leaf node of a series of function calls.
After examining values in the current subroutine it may turn out that the
problem occurred in earlier pieces of code. Use <code class="code">dbup</code> and <code class="code">dbdown</code>
to move up and down through the series of function calls to locate where
variables first took on the wrong values. <code class="code">dbstack</code> shows the entire
series of function calls and at what level debugging is currently taking place.
</p>
<a class="anchor" id="XREFdbstack"></a><span style="display:block; margin-top:-4.5ex;"> </span>
<dl class="first-deftypefn">
<dt class="deftypefn" id="index-dbstack"><span><strong class="def-name">dbstack</strong><a class="copiable-link" href="#index-dbstack"> ¶</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-dbstack-1"><span><strong class="def-name">dbstack</strong> <code class="def-code-arguments"><var class="var">n</var></code><a class="copiable-link" href="#index-dbstack-1"> ¶</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-dbstack-2"><span><strong class="def-name">dbstack</strong> <code class="def-code-arguments"><var class="var">-completenames</var></code><a class="copiable-link" href="#index-dbstack-2"> ¶</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-dbstack-3"><span><code class="def-type">[<var class="var">stack</var>, <var class="var">idx</var>] =</code> <strong class="def-name">dbstack</strong> <code class="def-code-arguments">(…)</code><a class="copiable-link" href="#index-dbstack-3"> ¶</a></span></dt>
<dd><p>Display or return current debugging function stack information.
</p>
<p>With optional argument <var class="var">n</var>, omit the <var class="var">n</var> innermost stack frames.
</p>
<p>Although accepted, the argument <var class="var">-completenames</var> is silently ignored.
Octave always returns absolute filenames.
</p>
<p>The arguments <var class="var">n</var> and <var class="var">-completenames</var> can both be specified and may
appear in any order.
</p>
<p>The optional return argument <var class="var">stack</var> is a struct array with the
following fields:
</p>
<dl class="table">
<dt>file</dt>
<dd><p>The name of the m-file where the function code is located.
</p>
</dd>
<dt>name</dt>
<dd><p>The name of the function with a breakpoint.
</p>
</dd>
<dt>line</dt>
<dd><p>The line number of an active breakpoint.
</p>
</dd>
<dt>column</dt>
<dd><p>The column number of the line where the breakpoint begins.
</p>
</dd>
</dl>
<p>The return argument <var class="var">idx</var> specifies which element of the <var class="var">stack</var>
struct array is currently active.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFdbup">dbup</a>, <a class="ref" href="#XREFdbdown">dbdown</a>, <a class="ref" href="Debug-Mode.html#XREFdbwhere">dbwhere</a>, <a class="ref" href="Debug-Mode.html#XREFdblist">dblist</a>, <a class="ref" href="Breakpoints.html#XREFdbstatus">dbstatus</a>.
</p></dd></dl>
<a class="anchor" id="XREFdbup"></a><span style="display:block; margin-top:-4.5ex;"> </span>
<dl class="first-deftypefn">
<dt class="deftypefn" id="index-dbup"><span><strong class="def-name">dbup</strong><a class="copiable-link" href="#index-dbup"> ¶</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-dbup-1"><span><strong class="def-name">dbup</strong> <code class="def-code-arguments"><var class="var">n</var></code><a class="copiable-link" href="#index-dbup-1"> ¶</a></span></dt>
<dd><p>In debugging mode, move up the execution stack <var class="var">n</var> frames.
</p>
<p>If <var class="var">n</var> is omitted, move up one frame.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFdbstack">dbstack</a>, <a class="ref" href="#XREFdbdown">dbdown</a>.
</p></dd></dl>
<a class="anchor" id="XREFdbdown"></a><span style="display:block; margin-top:-4.5ex;"> </span>
<dl class="first-deftypefn">
<dt class="deftypefn" id="index-dbdown"><span><strong class="def-name">dbdown</strong><a class="copiable-link" href="#index-dbdown"> ¶</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-dbdown-1"><span><strong class="def-name">dbdown</strong> <code class="def-code-arguments"><var class="var">n</var></code><a class="copiable-link" href="#index-dbdown-1"> ¶</a></span></dt>
<dd><p>In debugging mode, move down the execution stack <var class="var">n</var> frames.
</p>
<p>If <var class="var">n</var> is omitted, move down one frame.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFdbstack">dbstack</a>, <a class="ref" href="#XREFdbup">dbup</a>.
</p></dd></dl>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Profiling.html">Profiling</a>, Previous: <a href="Debug-Mode.html">Debug Mode</a>, Up: <a href="Debugging.html">Debugging</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|