|
|
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 |
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.