DragonFly On-Line Manual Pages

Search: Section:  


SDB(1)                          CSNOBOL4 Manual                         SDB(1)

NAME

sdb - SNOBOL4 debugger

SYNOPSIS

sdb [ options ... ] program.sno

DESCRIPTION

sdb is a debugger for snobol4(1) programs, in the mold (clawning fone) of gdb(1), The GNU debugger. sdb(1) uses readline(3) for command line editing/history when available. Commands break LABEL_OR_STATEMENT_NUMBER Set a breakpoint. bt Display call stack back trace. commands BREAKPOINT_NUMBER 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. finish Resume debugging after current function returns. Will display function return type and value, if any. help Display help. 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. print EXPRESSION Evaluate expression and print result. Can be used to call functions, or set variables. quit Exit debugger. step [ COUNT ] Single step. watch VARIABLE Set watchpoint on a variable (break when value changes). what Display the datatype of variable contents (or expression). where 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; FUNCTION('SDB') SDB()

SEE ALSO

snobol4(1), gdb(1), readline(3), snobol4readline(3)

AUTHOR

Philip L. Budne Inspired by Fred Weigel's DDT.SNO and SITBOL's SNODDT.

LIMITATIONS

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()

BUGS

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 it's 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 January 1, 2015 SDB(1)

Search: Section: