## 15 Debugging

— Loadable Function: rline = dbstop (func, line)

> Set a breakpoint in a function

> `func`
>   String representing the function name. When already in debug mode this should be left out and only the line should be given.
> `line`
>   Line you would like the breakpoint to be set on

> The rline returned is the real line that the breakpoint was set at.

— Loadable Function: dbclear (func, line)

> Delete a breakpoint in a function

> `func`
>   String representing the function name. When already in debug mode this should be left out and only the line should be given.
> `line`
>   Line where you would like to remove the the breakpoint
> No checking is done to make sure that the line you requested is really a breakpoint. If you get the wrong line nothing will happen.

— Loadable Function: lst = dbstatus ([func])

> Return a vector containing the lines on which a function has breakpoints set.

> `func`
>   String representing the function name. When already in debug mode this should be left out.

— Loadable Function: dbwhere ()

> Show where we are in the code

— Loadable Function: dbtype ()

> List script file with line numbers.

— Built-in Variable: debug_on_interrupt

> If `debug_on_interrupt` is nonzero, Octave will try to enter debugging mode when it receives an interrupt signal (typically generated with `C-c`). If a second interrupt signal is received before reaching the debugging mode, a normal interrupt will occur. The default value is 0.

— Built-in Variable: debug_on_warning

> If the value of `debug_on_warning` is nonzero, Octave will try to enter the debugger when a warning is encountered. The default value is 0.

— Built-in Variable: debug_on_error

> If the value of `debug_on_error` is nonzero, Octave will try to enter the debugger when an error is encountered. This will also inhibit printing of the normal traceback message (you will only see the top-level error message). The default value is 0.