Note: This section applies only to programs being debugged on Windows NT.
You can debug C and C++ programs compiled with the Microsoft Visual C++ compiler, provided you have compiled and linked your program with the appropriate options. The following limitations apply when debugging such programs:
Enumerated types: Enumeration member name information for enumerated types in C programs compiled with Visual C++ is not shown in monitors that display variable contents, such as the Local Variables monitor. This information is available for C++ programs, however. The following shows a code fragment with enumerated types, and the values displayed in the Local Variables monitor of the debugger:
typedef enum { One=1, Two, Three} TypeX;
TypeX a=One;
TypeX b=Two;
TypeX c=Three;
If the program is compiled as a C program with Visual C++:
a: 1 b: 2 c: 3
If the program is compiled as a C or C++ program with IBM C and C++ Compilers, or a C++ program with Visual C++
a: 1 /* One */ b: 2 /* Two */ c: 3 /* Three */
Constants: A statement such as const int i = 42; in a Visual C++ program does not generate any debug information for the variable i. Therefore the debugger does not display any value for it. The IBM C/C++ compiler does generate information for this symbol.
Namespaces: You cannot debug Visual C++ namespaces because the Visual C++ compiler does not generate the necessary debug information for namespaces in the executable.
![]()
Debug a Microsoft Visual C++
Program