Configuración del proyecto para una configuración de depuración de C++
Puede cambiar la configuración del proyecto para una configuración de depuración de C o C++ en el páginas de propiedades cuadro de diálogo, como se describe en Cómo: Establecimiento de configuraciones Debug y Release. En las siguientes tablas se muestra dónde encontrar los valores relacionados con el depurador en el cuadro de diálogo Páginas de propiedades.
Nota
La configuración de depuración del proyecto en la categoría Propiedades de configuración/Depuración es diferente para las aplicaciones UWP y los componentes escritos en C++. Consulte Iniciar una sesión de depuración (VB, C#, C++ y XAML).
Cada vez que guarda la solución, la configuración de depuración se escribe y se guarda automáticamente en un archivo "de usuario" (.vcxproj.user).
Especifique el depurador que va a utilizar en el cuadro de lista Depurador para iniciar, como se describe en la tabla siguiente. La elección afecta a qué propiedades están visibles.
Carpeta Propiedades de configuración (categoría Depuración)
Configuración | Descripción |
---|---|
Depurador para iniciar | Especifica el depurador que se va a ejecutar, con las siguientes opciones: - Depurador local de Windows - Depurador remoto de Windows - Depurador de explorador web - Depurador de servicios web |
Comando (Depurador local de Windows) | Especifica el comando usado para iniciar el programa que se está depurando en el equipo local. |
Comando remoto (Depurador remoto de Windows) | La ruta de acceso al archivo .exe en el equipo remoto. Escribe la ruta tal como lo harías en la máquina remota. |
Argumentos de comandos (Depurador local de Windows) Argumentos de comando remoto (Depurador remoto de Windows) |
- Especifica argumentos para el programa que está depurando. Para obtener más información sobre las formas de establecer argumentos de línea de comandos, vea Enviar argumentos de línea de comandos a un código que está siendo depurado (C++). Puede usar los siguientes operadores de redireccionamiento en este cuadro: < file Lee stdin del archivo. > file Escribe stdout en el archivo. >> file Agrega stdout al archivo. 2> file Escribe stderr en el archivo. 2>> file Anexa stderr al archivo. 2> &1 Envía la salida stderr (2) a la misma ubicación que stdout (1). 1> &2 Envía la salida stdout (1) a la misma ubicación que stderr (2). En la mayoría de los casos, estos operadores solo se aplican a las aplicaciones de consola. Si necesita utilizar caracteres de escape en el comando, puede usar valores ASCII, como %25 para reemplazar %. Si usa el comando Iniciar depuración, las comillas dobles escaparán los comandos anteriores, como "<" para reemplazar <. |
Directorio de Trabajo | Especifica el directorio de trabajo del programa que se está depurando, en relación con el directorio del proyecto donde se encuentra su EXE. Si deja esto en blanco, el directorio de trabajo es el directorio del proyecto. Para la depuración remota, el directorio del proyecto está en el servidor remoto. |
Asociar (Depurador local de Windows y Depurador remoto de Windows) | Especifica si se debe iniciar o asociar a la aplicación. El valor predeterminado es No. |
Nombre del servidor remoto (Depurador remoto de Windows) | Especifica el nombre de un equipo (distinto del suyo) en el que desea depurar una aplicación. La macro RemoteMachine Build se establece en el valor de esta propiedad; para obtener más información, vea Macros para comandos de compilación y propiedades. |
Conexión (Depurador remoto de Windows) | Permite cambiar entre los tipos de conexión estándar y sin autenticación para la depuración remota. Especifique un nombre de equipo remoto en el cuadro Nombre del Servidor Remoto. Los tipos de conexión incluyen lo siguiente: - remoto con autenticación de Windows - Remoto sin autenticación Nota: La depuración sin autenticación puede dejar el equipo remoto expuesto a infracciones de seguridad. El modo de autenticación de Windows es más seguro. Para obtener más información, vea Remote Debugging (Instalación de la depuración remota). |
Dirección URL HTTP (Depurador de servicio web y Depurador de explorador web) | Especifica la dirección URL en la que se encuentra el proyecto que se depura. |
Tipo de depurador | Especifica el tipo de depurador que se va a usar: solo nativo, solo administrado, solo GPU, mixto, automático (valor predeterminado) o script. - Solo nativo es para código C++ no administrado. - Managed Only es para código que se ejecuta bajo el Common Language Runtime (código administrado). - Mixto invoca depuradores para código administrado y no administrado. - Auto determina el tipo de depurador en función de la información del compilador y EXE. - Script invoca un depurador para scripts. - Solo GPU es para el código de C++ AMP que se ejecuta en un dispositivo GPU o en el rasterizador de referencia de DirectX. Vea Depurar código de GPU. |
Entorno (Depurador local de Windows y Depurador remoto de Windows) | Especifica las variables de entorno del programa que se depura. Use la sintaxis de variable de entorno estándar (por ejemplo, PATH="%SystemRoot%\..." ). Estas variables reemplazan el entorno del sistema o se fusionan mediante combinación con este, en función de la configuración Fusionar mediante combinación entorno. Al hacer clic en la columna derecha, aparece "Editar..." . Seleccione ese vínculo para abrir el Editor de propiedades y editar variables de entorno. Para agregar varias variables de entorno, use el Editor de propiedades y agregue una variable por línea. |
Combinar entorno (Depurador local de Windows) | Determina si las variables que se especifican en el cuadro Entorno se combinan con el entorno definido por el sistema operativo. La configuración predeterminada es Sí. |
Depuración de SQL (todos menos el Depurador de clúster MPI) | Habilita la depuración de procedimientos SQL desde la aplicación de Visual C++. El valor predeterminado es No. |
Tipo de acelerador de depuración (solo depuración de GPU) | Especifica el dispositivo GPU que se debe usar para la depuración. La instalación de controladores de dispositivos para dispositivos GPU compatibles agrega opciones adicionales. La configuración predeterminada es GPU: emulador de software. |
Comportamiento de interrupción predeterminado de GPU (solo para la depuración de GPU) | Especifica si se debe generar un evento de punto de interrupción para cada subproceso de una deformación SIMD. La configuración predeterminada consiste en generar el evento de punto de interrupción una sola vez por deformación. |
Acelerador predeterminado de AMP | Especifica el acelerador de AMP predeterminado al depurar código de GPU. Elija acelerador de software WARP para investigar si un problema se debe al hardware o a un controlador en lugar del código. |
Directorio de implementación (Depurador remoto de Windows) | Especifica la ruta de acceso en el equipo remoto donde se copia el resultado del proyecto antes de su ejecución. La ruta de acceso puede ser un recurso compartido de red en el equipo remoto o puede ser una ruta de acceso a una carpeta del equipo remoto. La configuración predeterminada está vacía, lo que significa que la salida del proyecto no se copia en un recurso compartido de red. Para habilitar la implementación de los archivos, también debe activar la casilla Implementar en el cuadro de diálogo Configuration Manager. Para obtener más información, vea Cómo: Crear y editar configuraciones. |
Archivos Adicionales para Implementar (Depurador Remoto de Windows) | Si se establece la propiedad Deployment Directory, se trata de una lista delimitada por punto y coma de carpetas o archivos adicionales que se van a copiar en el directorio de implementación. La configuración predeterminada está vacía, lo que significa que no se copian carpetas ni archivos adicionales en el directorio de implementación. Para copiar el contenido de una carpeta en la misma carpeta del directorio de implementación, especifique un nombre de carpeta. Para habilitar la implementación de los archivos, también debe activar la casilla Implementar en el cuadro de diálogo Configuration Manager. Para obtener más información, vea Cómo: Crear y editar configuraciones. |
Implementar bibliotecas de depuración en tiempo de ejecución de Visual C++ (Depurador remoto de Windows) | Si se establece la propiedad Directorio de implementación, especifica si las bibliotecas de tiempo de ejecución de depuración de Visual C++ de la plataforma actual se deben copiar en el recurso compartido de red. La configuración predeterminada es Sí. |
Carpeta C/C++ (categoría General)
Ajuste | Descripción |
---|---|
Formato de la información de depuración (/Z7, /Zd, Zi, /ZI) | Especifica el tipo de información de depuración que se va a crear para el proyecto. La opción predeterminada (/ZI) crea una base de datos de programa (PDB) en formato compatible Editar y continuar. Para obtener más información, vea /Z7, /Zd, /Zi, /ZI (Formato de la información de depuración). |
Carpeta C/C++ (categoría Optimización)
Ajuste | Descripción |
---|---|
Optimization | Especifica si el compilador debe optimizar el código que genera. La optimización cambia el código que se ejecuta. El código optimizado ya no coincide con el código fuente, lo que dificulta la depuración. La opción predeterminada (Deshabilitado (/0d)) suprime la optimización. Puede desarrollar con optimización suprimida y, a continuación, activarla al crear la versión de producción del código. |
Carpeta Vinculador (categoría Depuración)
Ajuste | Descripción |
---|---|
Generar información de depuración (/DEBUG) | Indica al enlazador que incluya información de depuración, que tiene el formato especificado por /Z7, /Zd, Zi o /ZI. |
Generar archivo de base de datos del programa (/PDB:name) | Especifique el nombre de un archivo de base de datos de programa (PDB) en este cuadro. Debe seleccionar ZI o /Zi en Formato de la información de depuración. |
Quitar símbolos privados (/PDBSTRIPPED:filename) | Especifique el nombre de un archivo PDB en este cuadro si no desea incluir símbolos privados en el archivo PDB. Esta opción crea un segundo archivo PDB al compilar la imagen del programa con cualquiera de las opciones del compilador o enlazador que generan un archivo PDB, como /DEBUG, /Z7, /Zd. O /Zi. Este segundo archivo PDB omite los símbolos que no desea enviar a sus clientes. Para obtener más información, vea /PDBSTRIPPED (Quitar símbolos privados). |
Generar Archivo de Mapa (/MAP) | Indica al enlazador que genere un archivo de mapa durante la vinculación. El valor predeterminado es No. Para obtener más información, vea /MAP (Generar archivo de mapa). |
Nombre de archivo de asignaciones (/MAP:nombre) | Si elige Generar archivo de mapa, puede especificar el archivo de mapa en este cuadro. Para obtener más información, vea /MAP (Generar archivo de mapa). |
Exportaciones de asignaciones (/MAPINFO:EXPORTS) | Incluye funciones exportadas en el archivo de mapa. El valor predeterminado es No. Para obtener más información, vea /MAPINFO (Incluir información en mapfile). |
Ensamblado depurable (/ASSEMBLYDEBUG) | Especifica la configuración de la opción /ASSEMBLYDEBUG del vinculador. Los valores posibles son: - No se emitió el atributo Debuggable. - Seguimiento de runtime y deshabilitar optimizaciones (/ASSEMBLYDEBUG). Esta es la configuración predeterminada, - No realizar seguimiento del motor en tiempo de ejecución ni habilitar optimizaciones (/ASSEMBLYDEBUG:DISABLE). - <heredar de primario o valores predeterminados del proyecto>. - Para más información, vea /ASSEMBLYDEBUG (Agregar DebuggableAttribute). |
Puede cambiar estas opciones en la carpeta Propiedades de configuración (categoría Depurar) mediante programación mediante la interfaz Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings. Para obtener más información, consulte VCDebugSettings.
Otras opciones de configuración del proyecto
Para depurar tipos de proyecto como bibliotecas estáticas y archivos DLL, el proyecto de Visual Studio debe poder encontrar los archivos correctos. Cuando el código fuente está disponible, puede agregar bibliotecas estáticas y archivos DLL como proyectos independientes a la misma solución para facilitar la depuración. Para obtener información sobre cómo crear estos tipos de proyecto, vea Creación y uso de una biblioteca de vínculos dinámicos (DLL) y Creación de un mediante una biblioteca estática. Con el código fuente disponible, también puede crear un proyecto de Visual Studio; para ello, elija Archivo>Nuevo>Proyecto a partir de código existente.
Para depurar archivos DLL que son externos al proyecto, vea Depuración de proyectos DLL. Si necesita depurar su propio proyecto DLL, pero no tiene acceso al proyecto de la aplicación que lo llama, consulte Cómo depurar desde un proyecto DLL.