/DEBUG (Generación de información de depuración)

La /DEBUG opción del enlazador crea un archivo de información de depuración para el ejecutable.

Sintaxis

/DEBUG[:{FASTLINK||FULLNONE}]

Comentarios

La /DEBUG opción coloca la información de depuración de archivos de biblioteca y objetos vinculados en un archivo de base de datos de programa (PDB). Actualiza el archivo PDB durante las compilaciones posteriores del programa.

Un ejecutable (un archivo EXE o DLL) creado para la depuración contiene el nombre y la ruta de acceso de la PDB correspondiente. El depurador lee el nombre insertado y usa el archivo PDB al depurar el programa. El enlazador usa el nombre base del programa y la extensión .pdb para asignar un nombre a la base de datos del programa e inserta la ruta de acceso donde se creó. Para invalidar este valor predeterminado, establezca la /PDB opción y especifique un nombre de archivo diferente.

La /DEBUG:FASTLINK opción está disponible en Visual Studio 2017 y versiones posteriores. Esta opción genera una PDB limitada que se indexa en la información de depuración en los archivos de objeto y bibliotecas que se usan para compilar el archivo ejecutable en lugar de realizar una copia completa. Solo puede usar esta base de datos PDB limitada para depurar desde el equipo donde se compilaron el archivo binario y sus bibliotecas. Si implementa el binario en otro lugar, puede depurarlo de forma remota desde el equipo de compilación, pero no directamente en el equipo de prueba. Desde Visual Studio 2019, los /DEBUG:FULL tiempos de vinculación han mejorado significativamente y /DEBUG:FASTLINK no siempre son más rápidos que /DEBUG:FULL. Dado que /DEBUG:FASTLINK ya no proporciona mejoras de tiempo de compilación grandes y da como resultado una experiencia de depuración más lenta frente /DEBUG:FULLa , esta opción ya no se recomienda.

Una /DEBUG:FASTLINK PDB se puede convertir en una PDB completa que se puede implementar en una máquina de prueba para la depuración local. En Visual Studio, use el cuadro de diálogo Páginas de propiedades como se describe a continuación para crear una PDB completa para el proyecto o la solución. En un símbolo del sistema para desarrolladores, puede usar la mspdbcmf.exe herramienta para crear una PDB completa.

La /DEBUG:FULL opción mueve toda la información de símbolos privados de productos de compilación individuales (archivos de objetos y bibliotecas) a una sola PDB y puede ser la parte más lenta del vínculo. Pero tenga en cuenta que puede usar el archivo PDB completo para depurar el archivo ejecutable cuando no hay otros productos de compilación disponibles, como por ejemplo, cuando se implementa el archivo ejecutable.

La /DEBUG:NONE opción no genera una PDB.

Especificar /DEBUG sin argumentos adicionales equivale a especificar /DEBUG:FULL.

La opción del compilador /Z7 (compatible con C7) hace que el compilador deje la información de depuración en los archivos del objeto (OBJ). También puede usar la /Zi opción del compilador (Base de datos de programa) para almacenar la información de depuración en una PDB para el archivo OBJ. El enlazador busca primero la PDB del objeto en la ruta de acceso absoluta escrita en el archivo OBJ y, a continuación, en el directorio que contiene el archivo OBJ. No se puede especificar el nombre o la ubicación del archivo PDB de un objeto en el enlazador.

/INCREMENTAL es implícito cuando se especifica /DEBUG.

/DEBUGcambia los valores predeterminados de la /OPT opción de REF a y de ICF a NOREF NOICF, por lo que si desea los valores predeterminados originales, debe especificar /OPT:REF explícitamente o /OPT:ICF después de la /DEBUG opción.

No es posible crear un ARCHIVO EXE o DLL que contenga información de depuración. La información de depuración siempre se coloca en un archivo OBJ o PDB.

Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Depuración del enlazador>.

  3. Modifique la propiedad Generar información de depuración para habilitar o deshabilitar la generación de PDB. Esta propiedad habilita /DEBUG:FASTLINK de forma predeterminada en Visual Studio 2017 y versiones posteriores.

  4. Modifique la propiedad Generate Full Program Database File (Generar archivo de base de datos de programa completo) para habilitar /DEBUG:FULL la generación completa de PDB para cada compilación incremental.

Para establecer esta opción del vinculador mediante programación

  1. Vea GenerateDebugInformation.

Consulte también

Referencia del enlazador MSVC
Opciones del enlazador MSVC