Share via


/Zd, /Z7, /Zi -Debug Info

These options select the type of debugging information created for your program. These options also allow you to choose the type of file you want to use for keep the debugging information, an .obj file or a .pdb file.

The following table shows the Debug options.

Debug Option Description
None Produces no debugging information, so compilation is faster. No command-line equivalent.
/Zd Produces an .obj file or executable file containing only global and external symbol and line-number information but no symbolic debugging information. Use this option if you want to reduce the size of the .exe file, or if you do not want to use the debugger's expression evaluator.
/Z7 C7 Compatible Produces an .obj file and an .exe file containing line numbers and full symbolic debugging information for use with the debugger. The symbolic information includes the names and types of variables, as well as functions and line numbers. This option has the same effect as /Zi in Microsoft C/C++ version 7.
/Zi Produces a program database, or .pdb file, that contains type information and symbolic debugging information for use with the debugger. The symbolic debugging information includes the names and types of variables, as well as functions and line numbers.

The compiler names the program database project.pdb. If you compile a file without a project, the compiler creates a database named VC60.pdb. The compiler embeds the name of the PDB in each .obj file created using this option, pointing the debugger to the location of symbolic and line-number information. When you use this option, your .obj files are smaller, because debugging information is stored in the .pdb file, rather than in .obj files.

If you create a library from objects compiled using this option, the associated .pdb file must be available when the library is linked to a program. Thus, if you distribute the library, you must distribute the PDB.

To create a library that contains debugging information without using .pdb files, you must select the C7 Compatible /Z7 option for your compiler, and clear the linker /PDB:NONE option. If you use the precompiled headers option, the compiler places debugging information for both the precompiled header and the rest of the source code in the PDB. The /Yd option is ignored when the Program Database option is specified.

See Also

About Microprocessor Compilers | ARM Guide | Hitachi Guide | MIPS Guide

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.