BUG: Bad Results Displayed by CodeView for Huge COMMON Blocks (71554)
The information in this article applies to:
- Microsoft CodeView for MS-DOS 3.0
- Microsoft CodeView for MS-DOS 3.11
- Microsoft CodeView for OS/2 3.0
- Microsoft CodeView for OS/2 3.11
This article was previously published under Q71554 SYMPTOMS
Microsoft CodeView versions 2.30, 3.00, and 3.11 erroneously calculate
the addresses of variables in FORTRAN COMMON blocks when these
variables are preceded in the COMMON block by 65,535 or more bytes of
data. The segment values of the addresses of these variables are
calculated incorrectly, generating incorrect results for any CodeView
function that uses symbolic names to display information. In
particular, watch-expressions will show incorrect values for the
contents of these variables.
RESOLUTION
If viewing a specific data item is necessary, it should be moved to
the beginning of the COMMON block or placed in a separate COMMON
block. If this is not possible, the LOCFAR intrinsic function can be
used with FORTRAN versions 4.0, 4.01, 4.1, and 5.0 to print out the
correct memory address of the data item, which can then be used with a
CodeView dump command, a watchpoint, or a breakpoint to view the
required information.
STATUS
Microsoft has confirmed this to be a bug in CodeView versions 2.3, 3.0, and
3.11 for MS-DOS and OS/2.
This is not an issue with FORTRAN PowerStation.
Modification Type: | Major | Last Reviewed: | 10/23/2003 |
---|
Keywords: | KB71554 |
---|
|