BUG: Watch on Struct Member Gives CXX0030 if Offset >= 32KLast reviewed: July 22, 1997Article ID: Q117150 |
1.00 1.50
WINDOWS
kbtool kbbuglist
The information in this article applies to:
SYMPTOMSIf a C++ application has a global structure containing member arrays whose total size exceeds 32K, expanding a member of the structure in the watch window will cause a CXX0030 error message, "expression not evaluatable", to display if the starting address of the member is over 0x7FFF from the beginning of the structure. This happens both in CodeView for Windows and the Visual Workbench integrated debugger. CodeView for MS-DOS behaves a little differently; while the structure member can be expanded, the values displayed are incorrect. NOTE: This problem does not occur for C applications.
STATUSMicrosoft has confirmed this to be a bug with Visual C++ for Windows, versions 1.0 and 1.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. This is not a problem in Visual C++ 32-bit Edition, version 1.0.
MORE INFORMATIONGo through the following steps to reproduce the problem, using the sample code below:
Sample Code
/* Compile options needed: /Zi /Od /Tp */ struct test { char a[16384]; char b[16384]; // If changed to b[16383], char c[10000]; // expanding c works correctly. } teststruct; void main( void ) { teststruct.c[0] = 'A'; } // Break here, set a watch on teststruct, expand c. |
Additional reference words: 1.00 1.50 4.00 4.01 4.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |