Changing arbitrary memory

If an address is given that is known by SCODB to be a structure or union, it will automatically change it field by field. This can be overided by typecasting the address to (char *). For example:

   debug0:1> c (char *)&u
Commands can be given to change location and value of memory:

Key Action
<Space> move right one digit in field
j move to next line
k move to previous line
h move to previous field
l, <Tab> move to next field
<Bksp> move left one digit in field, or to last field
hexadecimal digit change current digit
<Esc> enter calculator-input mode
u undo last digit-change
U undo all changes to current field
<Return> or quit character (other than <Esc>) exit change mode
Hexadecimal input will change the digit on which the cursor is located, advancing the cursor until the end of the cell. The highest digit of the cell is changed first.

Entering an <Esc> allows the user to give input to the SCODB calculator so that complex address expressions can be entered as value for the field:

   debug0:2> c &init_tbl
   init_tbl       D0089368 D009C544 D007E09C D0085CBC          h...D..........
   init_tbl+10    D0083F3C D008265C D00863A8 D00826C8          <?.....c...&..

To exit the change mode, enter a newline or quit character other than <Esc>.

A <Tab> advances the cursor to the next cell, while a <Bksp> entered at the beginning (left) of a cell causes the cursor to go to the beginning of the previous cell.

A space advances to the next digit, up to the end of the cell (the right side), with no modification to the contents. Incorrect entry is signaled by a bell.

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003