13.5 Call Stack

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 dbup and dbdown to move up and down through the series of function calls to locate where variables first took on the wrong values. dbstack shows the entire series of function calls and at what level debugging is currently taking place.

: dbstack
: dbstack n
: dbstack -completenames
: [stack, idx] = dbstack (…)

Display or return current debugging function stack information.

With optional argument n, omit the n innermost stack frames.

Although accepted, the argument -completenames is silently ignored. Octave always returns absolute filenames.

The arguments n and -completenames can be both specified in any order.

The optional return argument stack is a struct array with the following fields:

file

The name of the m-file where the function code is located.

name

The name of the function with a breakpoint.

line

The line number of an active breakpoint.

column

The column number of the line where the breakpoint begins.

scope

Undocumented.

context

Undocumented.

The return argument idx specifies which element of the stack struct array is currently active.

See also: dbup, dbdown, dbwhere, dblist, dbstatus.

: dbup
: dbup n

In debugging mode, move up the execution stack n frames.

If n is omitted, move up one frame.

See also: dbstack, dbdown.

: dbdown
: dbdown n

In debugging mode, move down the execution stack n frames.

If n is omitted, move down one frame.

See also: dbstack, dbup.

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Call-Stack.html