Compartir vía


Preparación de la depuración: tipos de proyecto de C++

En esta sección se describe cómo depurar los tipos de proyecto básicos creados por las plantillas de proyecto de Visual C++.

Tenga en cuenta que los tipos de proyecto que crean archivos DLL como salida se han agrupado en Proyectos DLL de depuración debido a las características comunes que comparten.

En este tema

Valores de propiedad recomendados

Proyectos Win32

Algunas propiedades se deben establecer de la misma forma en todos los casos de depuración no administrada. En las tablas siguientes se muestran los valores de propiedades recomendados. La configuración que no aparece aquí puede variar entre los distintos tipos de proyecto no administrados. Para más información, vea Configuración del proyecto para una configuración de depuración de C++.

Propiedades de configuración | C/C++ | Nodo de optimización

Nombre de propiedad Ajuste
Optimization Establézcalo en deshabilitado (/0d). El código optimizado es más difícil de depurar, ya que las instrucciones generadas no se corresponden directamente con el código fuente. Si encuentra que el programa tiene un error que solo aparece en el código optimizado, puede activar esta configuración, pero recuerde que el código que se muestra en la ventana Desensamblado se genera a partir del origen optimizado que podría no coincidir con lo que ve en las ventanas de origen. Es posible que otras características, como la ejecución paso a paso, no funcionen como se espera.

Propiedades de configuración | Enlazador | Nodo de depuración

Nombre de propiedad Ajuste
Generar información de depuración Siempre debe establecer esta opción en Sí (/DEBUG) para crear símbolos de depuración y archivos necesarios para la depuración. Cuando la aplicación entra en modo de producción, puede desactivarla.

En este tema

Proyectos de Win32

Las aplicaciones Win32 son programas tradicionales de Windows escritos en C o C++. La depuración de este tipo de aplicación en Visual Studio es muy sencilla.

Las aplicaciones Win32 incluyen aplicaciones MFC y proyectos ATL. Usan las API de Windows y pueden usar MFC o ATL, pero no usan Common Language Runtime (CLR). Sin embargo, pueden llamar al código administrado que utiliza el CLR.

En el procedimiento siguiente se explica cómo depurar un proyecto win32 desde Visual Studio. Otra manera de depurar una aplicación Win32 es iniciar la aplicación fuera de Visual Studio y adjuntarla. Para más información, vea Asociar a procesos en ejecución.

Para depurar una aplicación Win32 de C o C++

  1. Abra el proyecto en Visual Studio.

  2. En el menú Depurar, elija Iniciar.

  3. Depuración mediante las técnicas descritas en Primer vistazo al depurador.

Para establecer manualmente una configuración de depuración

  1. En el menú Ver, haga clic en Páginas de propiedades.

  2. Haga clic en el nodo Propiedades de configuración para abrirlo, si no está abierto aún

  3. Seleccione Generaly establezca el valor de la fila Output en Debug.

  4. Abra el nodo C/C++ y seleccione General.

    En la fila de depuración , especificas el tipo de información de depuración que va a generar el compilador. Entre los valores que podría elegir se incluye Base de datos de programa (/Zi) o Base de datos de programa para Editar y continuar (/ZI).

  5. Seleccione Optimización y, en la fila Optimización, seleccione Deshabilitada (/0d) en la lista desplegable.

    El código optimizado es más difícil de depurar, ya que las instrucciones generadas no se corresponden directamente con el código fuente. Si encuentra que el programa tiene un error que solo aparece en el código optimizado, puede activar esta configuración, pero recuerde que el código que se muestra en la ventana Desensamblado se genera a partir del origen optimizado que puede no coincidir con lo que ve en las ventanas de origen. Es probable que características como la ejecución paso a paso muestren puntos de interrupción y puntos de ejecución incorrectos.

  6. Abra el nodo Enlazador y seleccione Depuración. En la primera fila Generar, seleccione Sí (/DEBUG) en la lista desplegable. Siempre establezca este valor cuando depure.

    Para más información, vea Configuración del proyecto para una configuración de depuración de C++.

    En este tema