|Set a breakpoint.|
|bt||Display call stack back trace.|
|Add sdb commands to execute (ie; print & continue) to a breakpoint.|
|condition BREAKPOINT_NUMBER [ EXPR ]|
|If EXPR is supplied, it is used as a predicate to make the breakpoint conditional, if no EXPR is supplied, any previous condition is removed.|
|continue [ COUNT ]|
|Continue from breakpoint. The optional count specifies how many times to continue past this breakpoint (sets ignore count).|
|delete [ BREAKPOINT_NUMBER ]|
|Delete a single breakpoint, or all breakpoints.|
|disable [ BREAKPOINT_NUMBER ]|
|Temporarily disable a breakpoint, or all breakpoints.|
|enable [ BREAKPOINT_NUMBER ]|
|Re-enable a breakpoint, or all breakpoints.|
|Resume debugging after current function returns. Will display function return type and value, if any.|
|ignore BREAKPOINT_NUMBER [ COUNT ]|
|Set (or clear) breakpoint ignore count.|
|info||Display list of breakpoints and their status.|
|list [ STATEMENT_NUMBER ]|
|Display source code.|
|next [ COUNT ]|
|Single step execution, skipping over function calls.|
|Evaluate expression and print result. Can be used to call functions, or set variables.|
|step [ COUNT ]|
|Set watchpoint on a variable (break when value changes).|
|what||Display the datatype of variable contents (or expression).|
|An alias for bt.|
|A blank line repeats the previous command.|
|Non-ambiguous abbreviations of commands can be used (ie; s, n).|
|The GNU Readline library (when available) will be used for sdb(1) input for command editing and history.|
|The keyboard interrupt character (eg; Control-C) will stop a running program and return control to the sdb(1) command prompt.|
|If your program calls the SDB() function, it will act as a breakpoint. You can check whether sdb(1) is loaded with the FUNCTION() predicate, ie;|
snobol4(1), gdb(1), readline(3), snobol4readline(3)
Philip L. Budne
Inspired by Fred Weigels DDT.SNO and SITBOLs SNODDT.
sdb(1) uses a wide variety of system facilities and will interact poorly with any programs that use any number of features, including:
o Altering listing settings with directive/control lines. o Altering &STLIMIT, &ERRLIMIT, or &TRACE. o Calling SETEXIT()
If you try to put a breakpoint on a label or line with no code or goto fields, the breakpoint will never be triggered.
You cannot put a breakpoint on the END label (however control always returns to sdb when the END label is reached).
There is no run command; you cannot restart the program without quitting and losing breakpoint settings.
Interrupt character trapping is in its infancy, and only occurs at the start of a each statement executed.
The interrupt character is silently ignored when at the sdb command prompt.
sdb does not read an init file (ie; .sdbinit).
|CSNOBOL4B 2.0||SDB (1)||January 1, 2015|