/Yd (Incluir información de depuración en un archivo objeto)/Yd (Place Debug Information in Object File)

Ritmo de completa información de depuración en todos los archivos objeto creado a partir de un archivo de encabezado precompilado (.pch) cuando se usa con el /Yc y /Z7 opciones.Paces complete debugging information in all object files created from a precompiled header (.pch) file when used with the /Yc and /Z7 options. Desusado.Deprecated.

SintaxisSyntax

/Yd

ComentariosRemarks

/Yd está en desuso; Visual C++ ahora admite varios objetos de escritura en un archivo .pdb único, use /Zi en su lugar./Yd is deprecated; Visual C++ now supports multiple objects writing to a single .pdb file, use /Zi instead. Para obtener una lista de opciones del compilador en desuso, consulte en desuso y opciones del compilador quitó en Compiler Options Listed por categoría.For a list of deprecated compiler options, see Deprecated and Removed Compiler Options in Compiler Options Listed by Category.

A menos que necesite distribuir una información de depuración que contiene la biblioteca, utilice la /Zi opción lugar /Z7 y /Yd.Unless you need to distribute a library containing debugging information, use the /Zi option rather than /Z7 and /Yd.

Almacenar información de depuración completa en todos los archivos .obj sólo es necesario para distribuir las bibliotecas que contienen información de depuración.Storing complete debugging information in every .obj file is necessary only to distribute libraries that contain debugging information. Compilación de la que se ralentiza y requiere espacio en disco considerable.It slows compilation and requires considerable disk space. Cuando /Yc y /Z7 se usan sin /Yd, el compilador almacena la información de depuración comunes en el primer archivo .obj creado a partir del archivo .pch.When /Yc and /Z7 are used without /Yd, the compiler stores common debugging information in the first .obj file created from the .pch file. El compilador no inserta esta información en los archivos .obj creados posteriormente desde el archivo .pch; Inserta las referencias cruzadas a la información.The compiler does not insert this information into .obj files subsequently created from the .pch file; it inserts cross-references to the information. Independientemente de cuántos archivos .obj que use el archivo .pch, solo un archivo .obj contiene la información de depuración comunes.No matter how many .obj files use the .pch file, only one .obj file contains the common debugging information.

Aunque este comportamiento predeterminado logra más rápido el tiempo de compilación y reduce la demanda de espacio en disco, es deseable un pequeño cambio requiere volver a generar el archivo .obj que contiene la información de depuración comunes.Although this default behavior results in faster build times and reduces disk-space demands, it is undesirable if a small change requires rebuilding the .obj file containing the common debugging information. En este caso, el compilador debe volver a generar todos los archivos .obj que contiene referencias cruzadas al archivo .obj original.In this case, the compiler must rebuild all .obj files containing cross-references to the original .obj file. Además, si se usa un archivo .pch común por proyectos diferentes, dependencia de referencias cruzadas a un solo archivo .obj es difícil.Also, if a common .pch file is used by different projects, reliance on cross-references to a single .obj file is difficult.

Para obtener más información sobre los encabezados precompilados, vea:For more information on precompiled headers, see:

Para establecer esta opción del compilador en el entorno de desarrollo de Visual StudioTo set this compiler option in the Visual Studio development environment

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto.Open the project's Property Pages dialog box. Para obtener más información, consulte propiedades de compilación y el compilador de C++ establece en Visual Studio.For details, see Set C++ compiler and build properties in Visual Studio.

  2. Haga clic en la carpeta C/C++ .Click the C/C++ folder.

  3. Haga clic en la página de propiedades Línea de comandos .Click the Command Line property page.

  4. Escriba la opción del compilador en el cuadro Opciones adicionales .Type the compiler option in the Additional Options box.

Para establecer esta opción del compilador mediante programaciónTo set this compiler option programmatically

EjemplosExamples

Suponga que tiene dos archivos base, F.cpp y G.cpp, cada uno con estos #include instrucciones:Suppose you have two base files, F.cpp and G.cpp, each containing these #include statements:

#include "windows.h"
#include "etc.h"

El siguiente comando crea el encabezado precompilado ETC.pch y el archivo objeto F.obj archivos:The following command creates the precompiled header file ETC.pch and the object file F.obj:

CL /YcETC.H /Z7 F.CPP

El archivo objeto F.obj incluye el tipo y la información de símbolos para WINDOWS.h y ETC.h (y otros archivos de encabezado incluyen).The object file F.obj includes type and symbol information for WINDOWS.h and ETC.h (and any other header files they include). Ahora puede usar el encabezado precompilado ETC.pch para compilar el archivo de código fuente G.cpp:Now you can use the precompiled header ETC.pch to compile the source file G.cpp:

CL /YuETC.H /Z7 G.CPP

El archivo objeto G.obj no incluye la información de depuración para el encabezado precompilado pero simplemente hace referencia a esa información en el archivo F.obj.The object file G.obj does not include the debugging information for the precompiled header but simply references that information in the F.obj file. Tenga en cuenta que debe vincular con el archivo F.obj.Note that you must link with the F.obj file.

Si el encabezado precompilado no se compiló con /Z7, puede usarlo en posteriores compilaciones con /Z7.If your precompiled header was not compiled with /Z7, you can still use it in later compilations using /Z7. Sin embargo, la información de depuración se coloca en el archivo de objeto actual y los símbolos locales para las funciones y tipos definidos en el encabezado precompilado no están disponibles para el depurador.However, the debugging information is placed in the current object file, and local symbols for functions and types defined in the precompiled header are not available to the debugger.

Vea tambiénSee also

Opciones del compilador de MSVCMSVC Compiler Options
Sintaxis de la línea de comandos del compilador MSVCMSVC Compiler Command-Line Syntax