Annotation of researchv10dc/man/mana/sdb.1, revision 1.1

1.1     ! root        1: .TH SDB 1
        !             2: .CT 1 debug_tune
        !             3: .SH NAME
        !             4: sdb \- symbolic debugger
        !             5: .SH SYNOPSIS
        !             6: .B sdb
        !             7: [
        !             8: .I objfil
        !             9: [
        !            10: .I corfil
        !            11: [
        !            12: .I directory
        !            13: ]
        !            14: ]
        !            15: ]
        !            16: .SH DESCRIPTION
        !            17: .I Sdb
        !            18: is a symbolic debugger.
        !            19: It may examine source files, object files, and running or stopped
        !            20: core images.
        !            21: .PP
        !            22: .I Objfil
        !            23: is an executable program (default
        !            24: .BR a.out )
        !            25: compiled with option
        !            26: .B -g
        !            27: of
        !            28: .I cc
        !            29: or
        !            30: .IR f77 (1).
        !            31: .I Corfil
        !            32: is a core image (default
        !            33: .BR core )
        !            34: resulting from the execution of
        !            35: .I objfil .
        !            36: .I Directory
        !            37: is the home of source files,
        !            38: .L .
        !            39: by default.
        !            40: .PP
        !            41: .I Sdb
        !            42: maintains a `current line' and a `current file', initially
        !            43: the line number and source file name where 
        !            44: .I corfil
        !            45: stopped executing, or the first line in function
        !            46: .LR main
        !            47: if there is no core image.
        !            48: .PP
        !            49: Variables are referred to by name, by structure or array
        !            50: reference, or by a combination thereof.
        !            51: Variables not in scope at the current line
        !            52: are referred to as
        !            53: .IB procedure : variable
        !            54: .RI ( procedure
        !            55: may be a Fortran common block).
        !            56: In the syntax below, a `variable' may also be an integer constant
        !            57: designating a storage location, or a variable plus a constant
        !            58: designating a storage offset.
        !            59: .PP
        !            60: Line numbers in the source program are referred to as
        !            61: .IB filename : number,
        !            62: .IB procedure : number, 
        !            63: or
        !            64: .I number
        !            65: (in the current file).
        !            66: The number is always relative to the beginning of the file.
        !            67: A missing number is taken as
        !            68: the first line of the procedure or file.
        !            69: .PP
        !            70: The commands for examining data are:
        !            71: .nr xx \w'control-D\ '
        !            72: .TP \n(xxu
        !            73: .B t
        !            74: Print a stack trace of the terminated or stopped program.
        !            75: .TP
        !            76: .B T
        !            77: Print the top line of the stack trace.
        !            78: .TP
        !            79: .IB variable / lm 
        !            80: .PD
        !            81: .TP
        !            82: .IB variable ? lm 
        !            83: Print the value of the variable according to (an optional)
        !            84: length
        !            85: .I l
        !            86: and format
        !            87: .I m.
        !            88: By default
        !            89: .I l
        !            90: and
        !            91: .I m
        !            92: are taken from the variable's declaration.
        !            93: The length specifier for formats
        !            94: .B duox
        !            95: is
        !            96: .BR b 
        !            97: (1 byte),
        !            98: .BR h 
        !            99: (2 bytes),
        !           100: or
        !           101: .BR l
        !           102: (4 bytes, default).
        !           103: For formats
        !           104: .B s
        !           105: and
        !           106: .BR a 
        !           107: it is an integer string length.
        !           108: Punctuation
        !           109: .B /
        !           110: designates variables in data segments,
        !           111: .B ?
        !           112: in the text segment.
        !           113: Legal values for format
        !           114: .I m
        !           115: are:
        !           116: .PD
        !           117: .RS
        !           118: .TP
        !           119: .B c
        !           120: character
        !           121: .PD0
        !           122: .TP
        !           123: .B d
        !           124: decimal
        !           125: .TP
        !           126: .B u
        !           127: decimal, unsigned
        !           128: .TP
        !           129: .B o
        !           130: octal
        !           131: .TP
        !           132: .B x
        !           133: hexadecimal
        !           134: .TP
        !           135: .B f
        !           136: 32 bit single precision floating point
        !           137: .TP
        !           138: .B g
        !           139: 64 bit double precision floating point
        !           140: .TP
        !           141: .B s
        !           142: Assume variable is a string pointer and print characters until a null is
        !           143: reached.
        !           144: .TP
        !           145: .B a
        !           146: Print characters starting at the variable's address until a null
        !           147: is reached.
        !           148: .TP
        !           149: .B p
        !           150: pointer to procedure
        !           151: .TP
        !           152: .B i
        !           153: machine instruction
        !           154: .PD
        !           155: .RE
        !           156: .TP \n(xxu
        !           157: \fIvariable\f5=\fP\fIlm\fR
        !           158: .br
        !           159: .ns
        !           160: .TP
        !           161: \fIlinenumber\f5=\fP\fIlm\fR
        !           162: .br
        !           163: .ns
        !           164: .TP
        !           165: \fInumber\f5=\fP\fIlm\fR
        !           166: Print the address of the variable or line number or the value of the number
        !           167: in the specified format,
        !           168: .B lx
        !           169: by default.
        !           170: The last variant may be used to convert
        !           171: number bases.
        !           172: .TP
        !           173: .IB variable ! value
        !           174: Set the variable to the given value.
        !           175: The value may be an integer or character constant, a variable, or
        !           176: a floating-point constant
        !           177: (if
        !           178: .I variable
        !           179: is float or double).
        !           180: .PP
        !           181: The commands for examining source files are
        !           182: .TP \n(xxu
        !           183: .BI e " procedure"
        !           184: .br
        !           185: .ns
        !           186: .TP
        !           187: .BI e " filename" .c
        !           188: Set the current line and file.
        !           189: If no name is given, report the current procedure and file.
        !           190: .TP
        !           191: .BI / "regular expression" /
        !           192: Search forward as in
        !           193: .IR ed (1).
        !           194: .TP
        !           195: .BI ? "regular expression" ?
        !           196: Search backward.
        !           197: .TP
        !           198: .B p
        !           199: Print the current line.
        !           200: .TP
        !           201: .B z
        !           202: Print the current line and 9 more;
        !           203: set the current line to the last one printed.
        !           204: .TP
        !           205: control-D
        !           206: Print the next 10 lines;
        !           207: set the current line to the last one printed.
        !           208: .TP
        !           209: .B w
        !           210: Window.
        !           211: Print the 10 lines around the current line.
        !           212: .TP
        !           213: .I number
        !           214: Set the current line and print it.
        !           215: .TP
        !           216: .IB count " +"
        !           217: Advance the current line by \fIcount\fP lines.
        !           218: Print the new current line.
        !           219: .TP
        !           220: .IB count " -"
        !           221: Retreat the current line by
        !           222: .I count
        !           223: lines.
        !           224: Print the new current line.
        !           225: .PP
        !           226: The commands for controlling the execution of the source program are:
        !           227: .TP \n(xxu
        !           228: .IB count " r " args
        !           229: .br
        !           230: .ns
        !           231: .TP
        !           232: .IB count " R"
        !           233: Run the program with the given arguments.
        !           234: The
        !           235: .B r
        !           236: command with no arguments reuses the previous arguments
        !           237: to the program while the
        !           238: .B R
        !           239: command
        !           240: runs the program with no arguments.
        !           241: An argument beginning with 
        !           242: .L <
        !           243: or 
        !           244: .L >
        !           245: causes redirection for the
        !           246: standard input or output respectively.
        !           247: .I Count,
        !           248: if given,
        !           249: specifies a number of breakpoints to be ignored.
        !           250: .TP
        !           251: .IB linenumber " c " count
        !           252: .br
        !           253: .ns
        !           254: .TP
        !           255: .IB linenumber " C " count
        !           256: Continue after a breakpoint or interrupt.
        !           257: .I Count
        !           258: is as for
        !           259: .LR r .
        !           260: .B C
        !           261: continues with the signal which caused the program to stop and
        !           262: .B c
        !           263: ignores it.
        !           264: If a
        !           265: .I linenumber
        !           266: is given, a temporary breakpoint is placed there and is
        !           267: deleted when the command finishes.
        !           268: .TP
        !           269: .IB count " s"
        !           270: Single step.
        !           271: Run the program through
        !           272: .I count
        !           273: lines, one line by default.
        !           274: .TP
        !           275: .IB count " S"
        !           276: Single step, but step through subroutine calls.
        !           277: .TP
        !           278: .B k
        !           279: Kill the debugged program.
        !           280: .TP
        !           281: .IB procedure ( arg1,arg2,... )/  m 
        !           282: Execute the named procedure with the given arguments.
        !           283: Arguments can be variables in scope or integer,
        !           284: character or string constants.
        !           285: If a format,
        !           286: .BI / m,
        !           287: is given, print the result in that form, otherwise
        !           288: .LR d .
        !           289: .TP
        !           290: .I linenumber " b " commands
        !           291: Set a breakpoint at the given line.
        !           292: If a procedure name without a line number is given (e.g.
        !           293: .LR proc: ),
        !           294: a breakpoint is placed at the first line in the procedure.
        !           295: If no
        !           296: .I linenumber
        !           297: is given,
        !           298: a breakpoint is placed at the current line.
        !           299: .IP
        !           300: If no
        !           301: .I commands
        !           302: are given, stop execution just before the breakpoint.
        !           303: Otherwise, when the breakpoint is encountered perform
        !           304: the semicolon-separated
        !           305: .I commands
        !           306: and then continue execution.
        !           307: .TP
        !           308: .IB linenumber " d"
        !           309: Delete a breakpoint at the given line.
        !           310: If no
        !           311: .I linenumber
        !           312: is given,
        !           313: each breakpoint location is printed and a line is read from the standard input.
        !           314: Answer
        !           315: .L y
        !           316: or 
        !           317: .L d
        !           318: to delete it.
        !           319: .TP
        !           320: .B B
        !           321: Print a list of the currently active breakpoints.
        !           322: .TP
        !           323: .B D
        !           324: Delete all breakpoints.
        !           325: .TP
        !           326: .B l
        !           327: Print the last executed line.
        !           328: .TP
        !           329: .IB linenumber " a
        !           330: Announce.
        !           331: If
        !           332: .I linenumber
        !           333: is of the form
        !           334: .IB proc : number
        !           335: the command does 
        !           336: .LR "linenumber b\ l" 
        !           337: (print the line each time it's reached).
        !           338: If
        !           339: .I linenumber
        !           340: is of the form
        !           341: .LR proc: ,
        !           342: the command does
        !           343: .L "proc: b T" 
        !           344: (print the stack frame).
        !           345: .PP
        !           346: Miscellaneous commands.
        !           347: .TP
        !           348: .BI ! " command"
        !           349: The command is interpreted by
        !           350: .IR sh (1).
        !           351: .TP
        !           352: newline
        !           353: Advance to the next storage location or source line,
        !           354: depending on which was last printed, and display it.
        !           355: .TP
        !           356: \f5"\fI string\fR
        !           357: Print the given string.
        !           358: .TP
        !           359: .B q
        !           360: Exit the debugger.
        !           361: .PP
        !           362: The following commands are intended for
        !           363: debugging the debugger.
        !           364: .TP \n(xxu
        !           365: .B V
        !           366: Print the version number.
        !           367: .PD0
        !           368: .TP
        !           369: .B X
        !           370: Print a list of procedures and files being debugged.
        !           371: .TP
        !           372: .B Y
        !           373: Toggle debug output.
        !           374: .PD
        !           375: .SH FILES
        !           376: .F a.out
        !           377: .br
        !           378: .F core
        !           379: .SH SEE ALSO
        !           380: .IR adb (1), 
        !           381: .IR pi (9.1), 
        !           382: .IR cin (1),
        !           383: .IR nm (1),
        !           384: .IR a.out (5),
        !           385: .IR bigcore (1),
        !           386: .IR cc (1),
        !           387: .IR f77 (1)
        !           388: .SH BUGS
        !           389: .I Sdb
        !           390: is old and unmaintained.
        !           391: .br
        !           392: If a procedure is called when the program is not
        !           393: stopped at a breakpoint, a fresh core image results.
        !           394: Thus a procedure can't be used to extract data from a dump.
        !           395: .br
        !           396: .I Sdb 
        !           397: doesn't know Fortran: arrays are singly dimensioned
        !           398: and 0-indexed; scalar arguments are reported as pointers.
        !           399: .br
        !           400: The default type for printing Fortran parameters is incorrect:
        !           401: address instead of value.
        !           402: .br
        !           403: Tracebacks containing Fortran subprograms with multiple entry points
        !           404: may print too many arguments in the wrong order, but their values
        !           405: are correct.
        !           406: .br
        !           407: The meaning of control-D is nonstandard.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.