summaryrefslogtreecommitdiff
path: root/static/unix-v10/man1/sdb.1
diff options
context:
space:
mode:
Diffstat (limited to 'static/unix-v10/man1/sdb.1')
-rw-r--r--static/unix-v10/man1/sdb.1407
1 files changed, 407 insertions, 0 deletions
diff --git a/static/unix-v10/man1/sdb.1 b/static/unix-v10/man1/sdb.1
new file mode 100644
index 00000000..804c016b
--- /dev/null
+++ b/static/unix-v10/man1/sdb.1
@@ -0,0 +1,407 @@
+.TH SDB 1
+.CT 1 debug_tune
+.SH NAME
+sdb \- symbolic debugger
+.SH SYNOPSIS
+.B sdb
+[
+.I objfil
+[
+.I corfil
+[
+.I directory
+]
+]
+]
+.SH DESCRIPTION
+.I Sdb
+is a symbolic debugger.
+It may examine source files, object files, and running or stopped
+core images.
+.PP
+.I Objfil
+is an executable program (default
+.BR a.out )
+compiled with option
+.B -g
+of
+.I cc
+or
+.IR f77 (1).
+.I Corfil
+is a core image (default
+.BR core )
+resulting from the execution of
+.I objfil .
+.I Directory
+is the home of source files,
+.L .
+by default.
+.PP
+.I Sdb
+maintains a `current line' and a `current file', initially
+the line number and source file name where
+.I corfil
+stopped executing, or the first line in function
+.LR main
+if there is no core image.
+.PP
+Variables are referred to by name, by structure or array
+reference, or by a combination thereof.
+Variables not in scope at the current line
+are referred to as
+.IB procedure : variable
+.RI ( procedure
+may be a Fortran common block).
+In the syntax below, a `variable' may also be an integer constant
+designating a storage location, or a variable plus a constant
+designating a storage offset.
+.PP
+Line numbers in the source program are referred to as
+.IB filename : number,
+.IB procedure : number,
+or
+.I number
+(in the current file).
+The number is always relative to the beginning of the file.
+A missing number is taken as
+the first line of the procedure or file.
+.PP
+The commands for examining data are:
+.nr xx \w'control-D\ '
+.TP \n(xxu
+.B t
+Print a stack trace of the terminated or stopped program.
+.TP
+.B T
+Print the top line of the stack trace.
+.TP
+.IB variable / lm
+.PD
+.TP
+.IB variable ? lm
+Print the value of the variable according to (an optional)
+length
+.I l
+and format
+.I m.
+By default
+.I l
+and
+.I m
+are taken from the variable's declaration.
+The length specifier for formats
+.B duox
+is
+.BR b
+(1 byte),
+.BR h
+(2 bytes),
+or
+.BR l
+(4 bytes, default).
+For formats
+.B s
+and
+.BR a
+it is an integer string length.
+Punctuation
+.B /
+designates variables in data segments,
+.B ?
+in the text segment.
+Legal values for format
+.I m
+are:
+.PD
+.RS
+.TP
+.B c
+character
+.PD0
+.TP
+.B d
+decimal
+.TP
+.B u
+decimal, unsigned
+.TP
+.B o
+octal
+.TP
+.B x
+hexadecimal
+.TP
+.B f
+32 bit single precision floating point
+.TP
+.B g
+64 bit double precision floating point
+.TP
+.B s
+Assume variable is a string pointer and print characters until a null is
+reached.
+.TP
+.B a
+Print characters starting at the variable's address until a null
+is reached.
+.TP
+.B p
+pointer to procedure
+.TP
+.B i
+machine instruction
+.PD
+.RE
+.TP \n(xxu
+\fIvariable\f5=\fP\fIlm\fR
+.br
+.ns
+.TP
+\fIlinenumber\f5=\fP\fIlm\fR
+.br
+.ns
+.TP
+\fInumber\f5=\fP\fIlm\fR
+Print the address of the variable or line number or the value of the number
+in the specified format,
+.B lx
+by default.
+The last variant may be used to convert
+number bases.
+.TP
+.IB variable ! value
+Set the variable to the given value.
+The value may be an integer or character constant, a variable, or
+a floating-point constant
+(if
+.I variable
+is float or double).
+.PP
+The commands for examining source files are
+.TP \n(xxu
+.BI e " procedure"
+.br
+.ns
+.TP
+.BI e " filename" .c
+Set the current line and file.
+If no name is given, report the current procedure and file.
+.TP
+.BI / "regular expression" /
+Search forward as in
+.IR ed (1).
+.TP
+.BI ? "regular expression" ?
+Search backward.
+.TP
+.B p
+Print the current line.
+.TP
+.B z
+Print the current line and 9 more;
+set the current line to the last one printed.
+.TP
+control-D
+Print the next 10 lines;
+set the current line to the last one printed.
+.TP
+.B w
+Window.
+Print the 10 lines around the current line.
+.TP
+.I number
+Set the current line and print it.
+.TP
+.IB count " +"
+Advance the current line by \fIcount\fP lines.
+Print the new current line.
+.TP
+.IB count " -"
+Retreat the current line by
+.I count
+lines.
+Print the new current line.
+.PP
+The commands for controlling the execution of the source program are:
+.TP \n(xxu
+.IB count " r " args
+.br
+.ns
+.TP
+.IB count " R"
+Run the program with the given arguments.
+The
+.B r
+command with no arguments reuses the previous arguments
+to the program while the
+.B R
+command
+runs the program with no arguments.
+An argument beginning with
+.L <
+or
+.L >
+causes redirection for the
+standard input or output respectively.
+.I Count,
+if given,
+specifies a number of breakpoints to be ignored.
+.TP
+.IB linenumber " c " count
+.br
+.ns
+.TP
+.IB linenumber " C " count
+Continue after a breakpoint or interrupt.
+.I Count
+is as for
+.LR r .
+.B C
+continues with the signal which caused the program to stop and
+.B c
+ignores it.
+If a
+.I linenumber
+is given, a temporary breakpoint is placed there and is
+deleted when the command finishes.
+.TP
+.IB count " s"
+Single step.
+Run the program through
+.I count
+lines, one line by default.
+.TP
+.IB count " S"
+Single step, but step through subroutine calls.
+.TP
+.B k
+Kill the debugged program.
+.TP
+.IB procedure ( arg1,arg2,... )/ m
+Execute the named procedure with the given arguments.
+Arguments can be variables in scope or integer,
+character or string constants.
+If a format,
+.BI / m,
+is given, print the result in that form, otherwise
+.LR d .
+.TP
+.I linenumber " b " commands
+Set a breakpoint at the given line.
+If a procedure name without a line number is given (e.g.
+.LR proc: ),
+a breakpoint is placed at the first line in the procedure.
+If no
+.I linenumber
+is given,
+a breakpoint is placed at the current line.
+.IP
+If no
+.I commands
+are given, stop execution just before the breakpoint.
+Otherwise, when the breakpoint is encountered perform
+the semicolon-separated
+.I commands
+and then continue execution.
+.TP
+.IB linenumber " d"
+Delete a breakpoint at the given line.
+If no
+.I linenumber
+is given,
+each breakpoint location is printed and a line is read from the standard input.
+Answer
+.L y
+or
+.L d
+to delete it.
+.TP
+.B B
+Print a list of the currently active breakpoints.
+.TP
+.B D
+Delete all breakpoints.
+.TP
+.B l
+Print the last executed line.
+.TP
+.IB linenumber " a
+Announce.
+If
+.I linenumber
+is of the form
+.IB proc : number
+the command does
+.LR "linenumber b\ l"
+(print the line each time it's reached).
+If
+.I linenumber
+is of the form
+.LR proc: ,
+the command does
+.L "proc: b T"
+(print the stack frame).
+.PP
+Miscellaneous commands.
+.TP
+.BI ! " command"
+The command is interpreted by
+.IR sh (1).
+.TP
+newline
+Advance to the next storage location or source line,
+depending on which was last printed, and display it.
+.TP
+\f5"\fI string\fR
+Print the given string.
+.TP
+.B q
+Exit the debugger.
+.PP
+The following commands are intended for
+debugging the debugger.
+.TP \n(xxu
+.B V
+Print the version number.
+.PD0
+.TP
+.B X
+Print a list of procedures and files being debugged.
+.TP
+.B Y
+Toggle debug output.
+.PD
+.SH FILES
+.F a.out
+.br
+.F core
+.SH SEE ALSO
+.IR adb (1),
+.IR pi (9.1),
+.IR cin (1),
+.IR nm (1),
+.IR a.out (5),
+.IR bigcore (1),
+.IR cc (1),
+.IR f77 (1)
+.SH BUGS
+.I Sdb
+is old and unmaintained.
+.br
+If a procedure is called when the program is not
+stopped at a breakpoint, a fresh core image results.
+Thus a procedure can't be used to extract data from a dump.
+.br
+.I Sdb
+doesn't know Fortran: arrays are singly dimensioned
+and 0-indexed; scalar arguments are reported as pointers.
+.br
+The default type for printing Fortran parameters is incorrect:
+address instead of value.
+.br
+Tracebacks containing Fortran subprograms with multiple entry points
+may print too many arguments in the wrong order, but their values
+are correct.
+.br
+The meaning of control-D is nonstandard.