Cómo crear símbolos de depuración para una aplicación de Visual C++

Seleccione idioma Seleccione idioma
Id. de artículo: 291585 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Quizás tenga que crear símbolos que puede utilizar al depurar archivos de volcado o al realizar depuración live utilizando las herramientas de depuración de Microsoft para Windows. Para descargar estas herramientas, visite el siguiente sitio Web de Microsoft:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Los símbolos son datos que permiten el depurador conocer la información de origen y de línea, variables que se utilizan en la aplicación y datos escriba información para el programa.

En este artículo se describe cómo crear archivos de símbolos, específicamente los archivos .pdb, al generar una versión de las aplicaciones de Visual C++. Cuando trabaja con soporte técnico de Microsoft, quizás se le pida para proporcionar estos archivos de Ayuda del profesional de soporte que es ayudar a determinar la causa de un problema que experimenta. Por este motivo, resulta una buena para generar archivos de símbolos con cada versión lanzada específica de la aplicación.

Este artículo se supone que está familiarizado con la creación de aplicaciones mediante Microsoft Visual C++. Consulte la documentación C++ definitivos detalles sobre cómo crear archivos de símbolos.

Más información

Hay dos tipos de generaciones: lanzamiento y depuración. Establezca siempre el tipo de generación para la versión para las generaciones que se entregan a los clientes. La generación de depuración se utiliza con frecuencia durante la fase de desarrollo de la aplicación. Se pueden depurar ambos tipos de generaciones y ambos tipos de generaciones deben tener símbolos para depurarlos. Una diferencia importante es que la configuración de versión de Visual C++ desactiva de optimización del compilador y la optimización del compilador Depurar configuración activa. Cuando se activa la optimización del compilador, la aplicación se ejecuta más rápido. Sin embargo, no es tan fácil de recorrer el código ya que las líneas de código de origen no se compilan en el orden exacto que aparecen en el código fuente. Por lo tanto, durante la fase de desarrollo de un proyecto, es más fácil depurar una versión de depuración .

En Visual C++ 6.0 y el Visual .NET C++ entornos de desarrollo, puede crear una versión de depuración seleccionando Depurar como el tipo de generación y puede crear una versión de lanzamiento seleccionar versión como el tipo de generación. Si no está utilizando Visual C++ entornos de desarrollo, debe saber qué del compilador y opciones del vinculador para establecer.

Para habilitar la depuración de una versión de lanzamiento para Visual C++ .NET o Visual C++ 6.0, cambie el compilador siguientes opciones en el CL.exe compilación de la generación:

Compilador

  • Habilitar / Z7 para Visual C++ .NET
  • Habilitar /Zi para Visual C++ 6.0
  • Habilitar / O2
Para obtener información adicional acerca de la opción del compilador, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/aa236704.aspx

Vinculador

  • Seleccione / INCREMENTAL: NO
  • Seleccione / DEBUG: Sí
  • Seleccione / OPT: REF
  • Seleccione / OPT: ICF
Para obtener información adicional acerca de la opción de vinculador, el siguiente sitio Web de MSDN:
http://msdn.microsoft.com/en-us/library/aa270751.aspx

Habilitar la depuración en una versión de lanzamiento en Visual C++ 6.0

Para habilitar la depuración en una versión de lanzamiento en un entorno de desarrollo de Visual C++ 6.0, siga estos pasos:
  1. En el menú proyecto , haga clic en configuración .
  2. Haga clic en configuración de lanzamiento Win32 .
  3. En la ficha C/C ++ , haga clic en General y, a continuación, establecer lo siguiente:
    • Establezca optimizaciones al Maximizar velocidad o a Minimizar tamaño .
    • Establezca la información de depuración en la base de datos de programa .
  4. En la ficha vínculo , haga clic en General y, a continuación, establecer lo siguiente:
    • Asegúrese de que hace clic en para seleccionar Generar información de depuración .
    • Asegúrese de que desactivar la casilla de verificación Vincular incrementalmente .
  5. Modificar directamente las Opciones de proyecto y agregue / opt: ref, icf .
Ahora puede depurar la aplicación de generación de lanzamiento. Para encontrar el problema, recorrer el código hasta que encuentre donde se produce el error y a continuación, determinar el código o parámetros incorrectos. Si un programa funciona en una versión de depuración pero falla en una versión de lanzamiento, es probable que una de las optimizaciones del compilador está exponiendo un defecto en el código fuente.

Para crear una versión de depuración, utilice las siguientes opciones:

Compilador

  • Habilitar /Zi
  • Habilitar /Od

Vinculador

  • /Debug
  • / incremental: Sí
Después de completó los pasos y vuelva a compilar la aplicación, se ha .pdb archivos en el \debug o en el directorio \Release del proyecto, según la configuración de generación.

Referencias

Para obtener información adicional, consulte el libro siguiente:

Robbins, John. Depurar aplicaciones . Microsoft Press.

Propiedades

Id. de artículo: 291585 - Última revisión: lunes, 27 de noviembre de 2006 - Versión: 4.6
La información de este artículo se refiere a:
  • Microsoft Visual C++ 6.0 Enterprise
  • Microsoft Visual C++ .NET 2003 Standard
  • Microsoft Visual C++ .NET 2002 Standard
Palabras clave: 
kbmt kbdebug kbhowto kbsymbols KB291585 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 291585

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com