Change of Radix Does Not Change Array Index (26972)
The information in this article applies to:
- Microsoft CodeView for MS-DOS 2.2
- Microsoft CodeView for MS-DOS 3.0
- Microsoft CodeView for MS-DOS 3.11
- Microsoft CodeView for MS-DOS 3.14
- Microsoft CodeView for MS-DOS 4.0
- Microsoft CodeView for MS-DOS 4.01
- Microsoft CodeView for MS-DOS 4.05
- Microsoft CodeView for OS/2 2.2
- Microsoft CodeView for OS/2 3.0
- Microsoft CodeView for OS/2 3.11
- Microsoft CodeView for OS/2 3.12
- Microsoft CodeView for OS/2 3.5
- Microsoft CodeView for Windows 3.0
- Microsoft CodeView for Windows 3.05
- Microsoft CodeView for Windows 3.06
- Microsoft CodeView for Windows 3.07
- Microsoft CodeView for Windows 4.0
- Microsoft CodeView for Windows 4.01
- Microsoft CodeView for Windows 4.1
This article was previously published under Q26972
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.
This behavior was changed in CodeView version 4.1.
Modification Type: | Major | Last Reviewed: | 12/1/2003 |
---|
Keywords: | kb16bitonly KB26972 |
---|
|