Microsoft KB Archive/318135

= BUG: Problems with Visual C++ 6.0 .pdb File in Visual Studio .NET Debugger =

Article ID: 318135

Article Last Modified on 1/13/2004

-

APPLIES TO


 * Microsoft Visual C++ .NET 2002 Standard Edition

-



This article was previously published under Q318135



SYMPTOMS
When you use the Microsoft Visual Studio .NET debugger to debug a module (for example, an .exe file or a .dll file) that was created by using Microsoft Visual C++ version 5.0 or 6.0, you may experience the following problems:
 * When you click to expand a pointer variable in the Watch window, you may see only blank items. Alternately, the plus sign (+) may not be available.
 * The debugger may report that no variable information is found when you try to view a variable in the Watch window.
 * You may receive error CXX0033 for global variables. In addition, you may receive one of the following error messages:

CXX0017:Error:symbol &quot;symbol name&quot; not found

-or-

CXX0033:Error:error in OMF type information



CAUSE
These problems can occur if you build the .exe or the .dll file with the -pdbtype:sept linker option. This is the default option for the Win32 Debug build in the integrated development environment (IDE) of Visual C++ versions 5.0 and 6.0.

If you use this option, the debug information is distributed in the following files:
 * The Vc60.pdb file (or Vc50.pdb for Visual C++ 5.0) that the compiler generates.
 * The .pdb file that the linker generates.

The Visual Studio .NET debugger cannot read the types from the separate type pools created by the VC6 linker with /pdbtype:septypes.



RESOLUTION
To resolve this problem, disable the -pdbtype:sept linker option as follows:
 * 1) Open the project in the Visual C++ IDE for Win32 Debug build.
 * 2) On the Project menu, click Settings, and then click the Link tab.
 * 3) In the Category list, click Debug.
 * 4) Clear the Separate types check box, and then click OK.
 * 5) On the Build menu, click Rebuild All.

When you use this method to build .exe or .dll files, your files do not depend on the .pdb file that the compiler generates for symbolic debug information.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Keywords: kbbug kbide kbdebug kbpending KB318135

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.