Annotation of coherent/a/usr/man/MULTI/db, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: db                           Command                           db
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Assembler-level symbolic debugger
                      9: 
                     10: ddbb [-ccddeeffoorrtt] [_m_a_p_f_i_l_e] [_d_a_t_a_f_i_l_e]
                     11: 
                     12: db is an assembly  language-level debugger.  It allows you to run
                     13: object  files and  executable programs  under trace  control (see
                     14: ppttrraaccee),  run programs  with embedded  breakpoints, and  dump and
                     15: patch files in  a variety of forms.  You can  use it to debug as-
                     16: sembly-language programs that have been assembled by aass, the Mark
                     17: Williams assembler, as well as those that have been compiled with
                     18: the Mark Williams C compiler.
                     19: 
                     20: ***** What is db? *****
                     21: 
                     22: db is  a symbolic  debugger, which means  that it works  with the
                     23: symbol tables  that the compiler builds into  the object files it
                     24: generates.  Because  db is designed  to work on the  level of as-
                     25: sembly language,  the user needs  a working knowledge  of the ap-
                     26: propriate assembly language and microprocessor architecture.
                     27: 
                     28: ***** Invoking db *****
                     29: 
                     30: To invoke db,  type its name, plus the options  you want (if any)
                     31: and the name  of the files with which you  will be working.  map-
                     32: file is an object file that supplies a symbol table.  datafile is
                     33: the executable program to  be debugged.  If both names are given,
                     34: the options default to -c.  If  only one name is given, it is the
                     35: program; in  this case the options default to  -o.  If both names
                     36: are omitted,  mapfile defaults to  l.out and program  defaults to
                     37: core.  If possible, db accesses datafile with write permission.
                     38: 
                     39: The following  options to  the db  command specify the  format of
                     40: program:
                     41: 
                     42: -cc  program is  a core  file produced  by a  user core  dump.  db
                     43:    checks the  name of the command that  invoked the process that
                     44:    produced the core, against  the name of the mapfile, if given.
                     45:    Pure segments are read from the mapfile.
                     46: 
                     47: -dd program is a system dump.  If only one file is mentioned, map-
                     48:    file defaults to /coherent.
                     49: 
                     50: -ee The next argument is an object file; db executes it as a child
                     51:    process and passes it the rest of the command line.
                     52: 
                     53: -ff Map program as a straight array of bytes (file).
                     54: 
                     55: -oo program is an object file.  If mapfile is given, it is another
                     56:    object file that provides the symbol table.
                     57: 
                     58: -rr Read  file only, even though  you can write into  it.  This is
                     59:    used to give a file additional protection.
                     60: 
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: db                           Command                           db
                     70: 
                     71: 
                     72: 
                     73: -tt Perform  input and output  for db via  /dev/tty.  This permits
                     74:    the debugging of processes whose standard input or output have
                     75:    been redirected.
                     76: 
                     77: ***** Commands and Addresses *****
                     78: 
                     79: db executes commands that you give it from the standard input.  A
                     80: command usually  consists of an address, which  tells db where in
                     81: the program to execute the command; and then the command name and
                     82: its options, if any.
                     83: 
                     84: An address  is represented by  an expression, which  can be built
                     85: out of one or more of the following elements:
                     86: 
                     87: *  The  `.', which represents  the current address.   When an ad-
                     88:    dress is entered, the current address is set to that location.
                     89:    The current address can be advanced by typing <return>.
                     90: 
                     91: *  The  name of a register.  db recognizes  the register names r0
                     92:    through r7, sp,  and pc for the PDP-11; r0  through r15 and pc
                     93:    for the Z-8001 and Z-8002; and ax, ah, al, bx, bh, bl, cx, ch,
                     94:    cl, dx, dh, dl, si, di, bp, sp, sp, pc, cs, ds, es, and ss for
                     95:    the i8086.   Typing the name  of a register  displays its con-
                     96:    tents.   The   usual  numeric  base  (octal   on  the  PDP-11,
                     97:    hexadecimal on all other machines) is always used for register
                     98:    display  and  stack  tracebacks,  regardless  of  the  current
                     99:    default radix.
                    100: 
                    101: *   The symbols  dd,  ii, and  uu,  which represent  location 0  in,
                    102:    respectively, the  data space, the instruction  space, and the
                    103:    u-area.
                    104: 
                    105: *  The names of global symbols and symbolic addresses can be used
                    106:    in place  of the addresses  where they occur.   This is useful
                    107:    when setting a breakpoint at the beginning of a subroutine.
                    108: 
                    109: *  An integer constant, which can be used in the same manner as a
                    110:    global symbol.  The  default is decimal; a leading 0 indicates
                    111:    octal and 0x indicates hexadecimal.
                    112: 
                    113: *  The following binary operators can be used:
                    114:        +   Addition
                    115:        -   Subtraction
                    116:        *   Multiplication
                    117:        /   Integer division
                    118: 
                    119:    All arithmetic is done in longs.
                    120: 
                    121: *  The following unary operators can be used:
                    122:        ~   Complementation
                    123:        -   Negation
                    124:        *   Indirection
                    125: 
                    126:    All  operators  are  supported  with  their  normal  level  of
                    127:    precedence.  Parentheses `()' can be used for binding.
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 
                    133: 
                    134: 
                    135: db                           Command                           db
                    136: 
                    137: 
                    138: 
                    139: 
                    140: 
                    141: Every symbol refers to  a segment: the data segment, the instruc-
                    142: tion segment, or the u-area.  This segment, in turn, dictates the
                    143: format in which db displays by  default what it finds at that ad-
                    144: dress.  The format used by  an expression is that of its leftmost
                    145: operand.  The  symbols dd, ii, and uu can  name specific segments in
                    146: the absence of other symbols.
                    147: 
                    148: ***** Display Commands *****
                    149: 
                    150: The following commands  merely display information about program.
                    151: The symbol `.' represents the address, which defaults to the cur-
                    152: rent display address if omitted.  count defaults to one.
                    153: 
                    154: _a_d_d_r_e_s_s[,_c_o_u_n_t]?[_f_o_r_m_a_t]
                    155:      Display the  format count  times, starting at  address.  The
                    156:      format  string consists  of  one or  more  of the  following
                    157:      characters:
                    158: 
                    159:           ^    Reset display address to `.'
                    160:           +    Increment display address
                    161:           -    Decrement display address
                    162:           bb    Byte
                    163:           cc    cchhaarr; control and non-cchhaarrs escaped
                    164:           CC    Like `c' except `\0' not displayed
                    165:           dd    Decimal
                    166:           ff    ffllooaatt
                    167:           FF    ddoouubbllee
                    168:           ii    Machine instruction, disassembled
                    169:           ll    lloonngg
                    170:           nn    Output `\n'
                    171:           OO    octal
                    172:           pp    Symbolic address
                    173:           ss    String terminated by `\0', with escapes
                    174:           SS    String terminated by `\0', no escapes
                    175:           uu    uunnssiiggnneedd
                    176:           WW    word
                    177:           xx    Hexadecimal
                    178:           YY    time (as in i-node etc.)
                    179: 
                    180: The format  characters d,  o, u, and  x, which specify  a numeric
                    181: base, can be followed by b,  l, or w, which specify a datum size,
                    182: to describe  a single datum for display.  A  format item may also
                    183: be preceded by a count that  specifies how many times the item is
                    184: to be  applied.  Note that format defaults  to the previously set
                    185: format for  the segment (initially  oo for data and  u-area, and i
                    186: for instructions).   Except where otherwise  noted, db increments
                    187: the display address by the size of the datum displayed after each
                    188: format item.
                    189: 
                    190: ***** Execution Commands *****
                    191: 
                    192: In the following  commands, address defaults to the address where
                    193: execution  stopped, unless  otherwise specified;  count  and expr
                    194: 
                    195: 
                    196: COHERENT Lexicon                                           Page 3
                    197: 
                    198: 
                    199: 
                    200: 
                    201: db                           Command                           db
                    202: 
                    203: 
                    204: 
                    205: default to  1.  commands is  an arbitrary string  of db commands,
                    206: terminated by a newline.   A newline may be included by preceding
                    207: it with a backslash `\'.
                    208: 
                    209: [_a_d_d_r_e_s_s]=
                    210:      Print address in  octal.  address defaults to `.'.  The com-
                    211:      mand =  assigns values to  locations in the  traced process.
                    212:      The size  of the assigned value is  determined from the last
                    213:      display format used.   You can set and display the registers
                    214:      of the  traced process, just  like any other  address in the
                    215:      traced process.
                    216: 
                    217: [_a_d_d_r_e_s_s[,_c_o_u_n_t]]=_v_a_l_u_e[,_v_a_l_u_e[,_v_a_l_u_e]...]
                    218:      Patch the  contents starting at address  to the given value.
                    219:      address defaults to `.'.  Up to ten values can be listed.
                    220: 
                    221: ?    Print verbose version of last error message.
                    222: 
                    223: [_a_d_d_r_e_s_s] :aa
                    224:      Print address symbolically.  address defaults to `.'.
                    225: 
                    226: [_a_d_d_r_e_s_s]:bb[_c_o_m_m_a_n_d_s]
                    227:      Set breakpoint at address; save commands to be executed when
                    228:      breakpoint   is    encountered.    commands    defaults   to
                    229:      .:aa\nnii+.?ii\nn:xx.
                    230: 
                    231: :bbrr [_c_o_m_m_a_n_d_s]
                    232:      Set breakpoint at return from current routine.  The defaults
                    233:      are the same as for :bb, above.
                    234: 
                    235: [_a_d_d_r_e_s_s] :cc
                    236:      Continue execution from address.
                    237: 
                    238: [_a_d_d_r_e_s_s] :dd[rr][ss]
                    239:      Delete  breakpoint  at  address.   If  optional  r or  s  is
                    240:      specified, delete return or single-step breakpoint.  address
                    241:      defaults to `.'.
                    242: 
                    243: [_a_d_d_r_e_s_s]:ee[_c_o_m_m_a_n_d_l_i_n_e]
                    244:      Begin  traced  execution  of  the  object  file  at  address
                    245:      (default,  entry  point).   The  commandline is  parsed  and
                    246:      passed  to  the  traced  process.   argv[0]  must  be  typed
                    247:      directly after :e if supplied.  For example, :e3 foo bar baz
                    248:      sets  argv[0] to  3,  argv[1] to  foo, argv[2]  to bar,  and
                    249:      argv[3] to baz.   Quotation marks, apostrophes, and redirec-
                    250:      tion are parsed as  by sh, but special characters `?*[]' and
                    251:      shell punctuation `(){}|;' are not.  For complete shell com-
                    252:      mand line parsing use the -e option.
                    253: 
                    254: :ff   Print  type of fault  which caused core dump  or stopped the
                    255:      traced process.
                    256: 
                    257: :mm   Display segmentation map.
                    258: 
                    259: 
                    260: 
                    261: 
                    262: COHERENT Lexicon                                           Page 4
                    263: 
                    264: 
                    265: 
                    266: 
                    267: db                           Command                           db
                    268: 
                    269: 
                    270: 
                    271: [_e_x_p_r] :nn
                    272:      Set default numeric display base  to expr: 88, 1100, and 1166 in-
                    273:      dicate, respectively, octal, decimal, and hexadecimal.
                    274: 
                    275: :pp   Display breakpoints.
                    276: 
                    277: [_e_x_p_r] :qq
                    278:      If expr is nonzero,  quit the current level of command input
                    279:      (see :x).  expr defaults to 1.  End of file is equivalent to
                    280:      :q.
                    281: 
                    282: :rr   Display registers.
                    283: 
                    284: [_a_d_d_r_e_s_s],[_c_o_u_n_t]:ss[cc][_c_o_m_m_a_n_d_s]
                    285:      Single-step execution starting  at address, for count steps,
                    286:      executing  commands  at  each  step.  commands  defaults  to
                    287:      ii+.?ii.
                    288: 
                    289:      After  a  single-step  command,  <rreettuurrnn> is  equivalent  to
                    290:      .,11:ss[cc].   If  the  optional c  is  present,  db turns  off
                    291:      single-stepping at  a subroutine call  and turns it  back on
                    292:      upon return.
                    293: 
                    294: [_d_e_p_t_h] :tt
                    295:      Print  a call  traceback  to depth  levels.  If  depth is  0
                    296:      (default), unwind the whole stack.
                    297: 
                    298: [_e_x_p_r] :xx
                    299:      If expr is nonzero, read and execute commands from the stan-
                    300:      dard input up to end of file or :q.  expr defaults to 1.
                    301: 
                    302: ***** See Also *****
                    303: 
                    304: commands, core, l.out.h, od, ptrace()
                    305: 
                    306: 
                    307: 
                    308: 
                    309: 
                    310: 
                    311: 
                    312: 
                    313: 
                    314: 
                    315: 
                    316: 
                    317: 
                    318: 
                    319: 
                    320: 
                    321: 
                    322: 
                    323: 
                    324: 
                    325: 
                    326: 
                    327: 
                    328: COHERENT Lexicon                                           Page 5
                    329: 
                    330: 

unix.superglobalmegacorp.com

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