|
|
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 overridden 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 |
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...&..
Value:
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.