Next: , Previous: , Up: Debugging   [Contents][Index]


13.4 Debug Mode

There are three additional support functions that allow the user to find out where in the execution of a script Octave entered the debug mode, and to print the code in the script surrounding the point where Octave entered debug mode.

dbwhere

In debugging mode, report the current file and line number where execution is stopped.

See also: dbstack, dblist, dbstatus, dbcont, dbstep, dbup, dbdown.

dbtype
dbtype lineno
dbtype startl:endl
dbtype startl:end
dbtype func
dbtype func lineno
dbtype func startl:endl
dbtype func startl:end

Display a script file with line numbers.

When called with no arguments in debugging mode, display the script file currently being debugged.

An optional range specification can be used to list only a portion of the file. The special keyword "end" is a valid line number specification for the last line of the file.

When called with the name of a function, list that script file with line numbers.

See also: dblist, dbwhere, dbstatus, dbstop.

dblist
dblist n

In debugging mode, list n lines of the function being debugged centered around the current line to be executed.

If unspecified n defaults to 10 (+/- 5 lines)

See also: dbwhere, dbtype, dbstack.

You may also use isdebugmode to determine whether the debugger is currently active.

isdebugmode ()

Return true if in debugging mode, otherwise false.

See also: dbwhere, dbstack, dbstatus.

Debug mode also allows single line stepping through a function using the command dbstep.

dbstep
dbstep n
dbstep in
dbstep out
dbnext

In debugging mode, execute the next n lines of code.

If n is omitted, execute the next single line of code. If the next line of code is itself defined in terms of an m-file remain in the existing function.

Using dbstep in will cause execution of the next line to step into any m-files defined on the next line.

Using dbstep out will cause execution to continue until the current function returns.

dbnext is an alias for dbstep.

See also: dbcont, dbquit.

When in debug mode the RETURN key will execute the last entered command. This is useful, for example, after hitting a breakpoint and entering dbstep once. After that, one can advance line by line through the code with only a single key stroke. This feature may be disabled using the auto_repeat_debug_command function.

val = auto_repeat_debug_command ()
old_val = auto_repeat_debug_command (new_val)
auto_repeat_debug_command (new_val, "local")

Query or set the internal variable that controls whether debugging commands are automatically repeated when the input line is empty (typing just RET).

When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.


Next: , Previous: , Up: Debugging   [Contents][Index]