Article ID: 131147 - View products that this article applies to.
This article was previously published under Q131147
In the Visual C++ debugger, if you debug an application built using precompiled header (PCH) options, the debugger's expression evaluator may generate errors when viewing classes that were declared but not defined in the precompiled header file.
One of the following errors may be generated depending on the Visual C++ version:
CXX0017 Error: symbol "xxxx" cannot be found
CXX0030 Error: expression cannot be evaluated
CXX0033 Error: error in OMF type information
NOTE: The first error message is very generic, and can occur for several different reasons including this one.
CV1255 Error: no data members
When the compiler writes out type information into the program database (.PDB) file, incomplete type information is written for the forward class declaration when the full definition has not yet been compiled.
When the module containing the full class definition is compiled, the complete type information is not replacing the incomplete type information in the .PDB file.
Here are three possible workarounds:
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was fixed in Microsoft Visual C++, 32-bit Edition, version 4.0.
The following small sample application reproduces the problem. In the Visual C++ integrated debugger, it is not possible to expand "A" in the locals window, watch window, or with a quickwatch.
Sample Code to Demonstrate Problem
Article ID: 131147 - Last Review: July 5, 2005 - Revision: 1.1
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.