Next: Profiling, Previous: Debug Mode, Up: Debugging [Contents][Index]

### 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 both be specified and may appear 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.

  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.

Next: Profiling, Previous: Debug Mode, Up: Debugging [Contents][Index]