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

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
       returns 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.0>

home | help