### 3.9.3 Source code debugger

The source code debugger (sdb) is an experimental feature, its interface may change in future versions of SINGULAR.
To enable the use of the source code debugger SINGULAR has to be started with the option `-d` or `--sdb` (see Command line options).

#### sdb commands

Each sdb command consists of one character which may be followed by a parameter.

`b`
  print backtrace of calling stack
`c`
  continue
`e`
  edit the current procedure and reload it (current call will be aborted)
  only available on UNIX systems
`h`,`?`
  display help screen
`n`
  execute current line, sdb break at next line
`p` <identifier>
  display type and value of the variable given by <identifier>
`Q`
  quit this SINGULAR session
`q` <flags>
  quit debugger, set debugger flags(0,1,2)
  0: continue, disable the debugger
  1: continue
  2: throw an error, return to toplevel

#### Syntactical errors in procedures

If SINGULAR was started using the command line option `-d` or `--sdb`, a syntactical error in a procedure will start the source code debugger instead of returning to the top level with an error message. The commands `q 1` and `q 2` are equivalent in this case.

#### SDB breakpoints in procedures

Up to seven SDB breakpoints can be set. To set a breakpoint at a procedure use `breakpoint`. (See breakpoint).
These breakpoints can be cleared with the command `d breakpoint_no` from within the debugger or with `breakpoint(` proc_name `,-1);`.

User manual for Singular version 4-0-3, 2016, generated by texi2html.