### 13.1 Entering Debug Mode

There are two basic means of interrupting the execution of an Octave script. These are breakpoints Breakpoints, discussed in the next section and interruption based on some condition.

Octave supports three means to stop execution based on the values set in the functions `debug_on_interrupt`, `debug_on_warning` and `debug_on_error`.

— Built-in Function: val = debug_on_interrupt ()
— Built-in Function: old_val = debug_on_interrupt (new_val)

> Query or set the internal variable that controls whether 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.

— Built-in Function: val = debug_on_warning ()
— Built-in Function: old_val = debug_on_warning (new_val)

> Query or set the internal variable that controls whether Octave will try to enter the debugger when a warning is encountered.

— Built-in Function: val = debug_on_error ()
— Built-in Function: old_val = debug_on_error (new_val)

> Query or set the internal variable that controls whether 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).