x64 visual sp1 microsoft descargar c++ visual-studio debugging

sp1 - microsoft visual c++ 2012



La versión ''Release'' de Visual C++ 2008 contiene información de depuración (6)

Bueno, podría entregar esta información de depuración y alguien podría usarla para desensamblar su código. Para algunas personas temerosas, esto solo podría ser una razón para no dejarlo así.

Personalmente, creo que a veces es útil tener disponible la información de depuración para la versión de lanzamiento, de esta manera es mucho más fácil analizar un crashdump, que será almacenado por el Dr. Watson en caso de fallas en la aplicación.
Encontré algunos errores realmente oscuros de esta manera.

Me he dado cuenta de que al generar un nuevo proyecto de C ++ utilizando MS Visual Studio 2008, la compilación de versión contiene símbolos de depuración, específicamente las siguientes configuraciones están habilitadas:

  • El formato de información C ++ / General / Debug se establece en la base de datos del programa .
  • La configuración Linker / Debugging / Generate Debug Info está establecida en Yes .

Nunca me había dado cuenta de esto en versiones anteriores de Visual Studio.

Entonces, aparte de generar un archivo EXE más grande, ¿hay algún inconveniente para dejar estas configuraciones habilitadas?


Hemos activado esas configuraciones en nuestros lanzamientos comerciales durante años sin aparente inconveniente. Los upsides son enormes, sin embargo.

Hemos integrado un paquete de descarga rápida que empaqueta el volcado junto con otra información y la envía por correo electrónico (con el consentimiento del usuario) a la bandeja de entrada de la compañía. Esto nos ha ayudado a encontrar problemas que nos habrían demorado para siempre para reproducir y encontrar lo contrario.

Aunque está ligeramente fuera de tema, aquí hay un enlace a una excelente contribución que hizo alguien que le ofrece una manera fácil de incluir un reportero de fallos en una aplicación de C ++ / Windows: http://www.codeproject.com/KB/debug/crash_report.aspx

Nota: Sin embargo, sería prudente no incluir el archivo PDB con su versión. Dicho esto, debe mantener el archivo PDB que coincida con su versión lanzada para que pueda corregir correctamente el problema en el futuro. Si se utiliza un archivo PDB que no fue construido con el mismo código que construyó el exe, la pila que verá cuando intente depurar el dmp será incorrecta.


Tener estas opciones no necesariamente hace que tus ejecutables sean más grandes. La información de depuración se almacena en un archivo separado, con la extensión PDB. Tener información de depuración disponible nunca es una mala idea, a menos que realmente tenga poco espacio libre de almacenamiento.

Tal vez es por eso que están activados por defecto: no dañan sus ejecutables. Las compilaciones de versión utilizan optimizaciones como la creación de funciones y la generación de código optimizado, lo que hace que sea más difícil pasar, mientras que las versiones de depuración tienen estas opciones desactivadas.

Sin inconvenientes aquí.

Dave


Agregar el modificador / Zi hace un archivo .exe más grande además del PDB. Sin embargo, puede vincularse por separado con / OPT: REF para mantener el tamaño del archivo .exe al mínimo.


Están activados de manera predeterminada porque:

  1. Si no los crea ahora, no podrá crearlos más tarde.
  2. Los necesitas.

Al habilitar la información de depuración en Visual C ++, se agrega una pequeña entrada al encabezado binario, identificando el PDB para este binario. Es demasiado pequeño para ser de cualquier tamaño, y no contiene ningún secreto útil que pueda estar interesado en compartir.

(La entrada del encabezado está etiquetada RSDS: ¿quién puede adivinar por qué?)

Por supuesto, esos PDB usarán más espacio en disco en su máquina de creación / en sus copias de seguridad. Tratar con él. Necesitas esos PDB cuando llega el momento de depurar algo.


El .exe será un poco más grande debido a una referencia al archivo .pdb (es decir, una ruta adicional). Eso es todo.