Change of Radix Does Not Change Array Index

ID Number: Q26972

2.x 3.00 3.10 3.11 3.14 | 2.x 3.00 3.10 3.11 3.12 3.50

MS-DOS | OS/2

Summary:

The Microsoft CodeView debugger assumes all array indexes are in the

current radix. Therefore, if a watch is placed on a particular array

element and the radix is then changed, the value displayed in the

Watch window may change.

To illustrate, assume the current radix is 10 and the program being

debugged contains an array called buffer. If a watch has been placed

on buffer[10] and the radix is then changed to base 16, the Watch

window will still show buffer[10], but the 10 now refers to 0x10 or

decimal 16. Thus, the value displayed is buffer[16].

This behavior occurs because CodeView reinterprets the items in the

Watch window each time; when you set a watch on a variable, CodeView

does not "compile" that address into some internal memory location.

Instead, it recalculates the watch statement each time.

Additional reference words: 2.0 2.00 2.1 2.10 2.2 2.20 2.3 2.30 2.35

3.0 3.00 3.1 3.10 3.11 3.12 3.14 3.5 3.50.