Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 [ LABEL_OR_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.

     run
	 Restart program (works by saving breakpoints and  restarting  snobol4).
	 New in version 2.1, some restrictions may apply.

     save FILENAME
	 Save breakpoints to file.

     source FILENAME
	 Read sdb commands from file.

     step [ COUNT ]
	 Single step.

     watch VARIABLE
	 Set watchpoint on a variable (break when value changes).

     what EXPRESSION
	 Display the datatype of 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 pro-
     gram 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()

FILES
     ~/.sdbinit
	 initial command file, read on startup.

     .sdb_history
	 saved command history

     /tmp/sdb_listing.pid
	 temporary listing file for sdb.sno to read

     /tmp/sdb_bkpts.pid
	 temporary breakpoint save file for "run" command

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:

     *	    Altering listing settings with directive/control lines.

     *	    Altering &STLIMIT, &ERRLIMIT, or &TRACE.

     *	    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  re-
     turns to sdb when the END label is reached).

     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.

     Leaves an unprotected listing file of the sources	in  the  /tmp  directory
     (create a protected directory?).

     "quit"  and "run" commands say program is running even if first line of the
     program has not yet been executed!

     Some fatal errors cannot be trapped, and sdb will be terminated.

CSNOBOL4B 2.3.1 		 March 31, 2022 			  SDB(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sdb&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help