2011-03-17 14 views
5

duplicados posibles:
Debug/Release difference
Performance differences between debug and release builds¿Cuál es la diferencia entre el modo de depuración y el modo de lanzamiento en Visual Studio 2010?

¿Qué es exactamente el diferente en compilar y ejecutar un proyecto en modo de depuración asp.net/c# VS modo de disparo?

+0

Exact dupe: http://stackoverflow.com/questions/933739/what-is-difference-between-release-and-debug-modes-in-visual-studio – gideon

+0

Dupe 2 http://stackoverflow.com/ preguntas/367884/debug-release-difference – gideon

+0

Dupe 3: http://stackoverflow.com/questions/3143244/visual-studio-debug-vs-release – gideon

Respuesta

18

En modo de depuración su .exe tiene información de depuración dentro de ella (código fuente, nombres de variables y otras cosas similares por el estilo).

En modo de disparo su .exe falta de información de depuración lo hace más pequeño y probablemente tiene un mejor rendimiento debido a su tamaño más pequeño.

+7

La diferencia más grande probablemente sea que en Release, se activan muchas optimizaciones para que el programa tenga un mejor rendimiento, lo que normalmente obstaculizaría la capacidad de depurar el programa. Entonces, no es solo la falta de información de depuración la que marca la diferencia. –

3

La mayor diferencia entre estos es que: En una compilación de depuración, la información de depuración simbólica completa se emite para ayudar a depurar aplicaciones y también no se tiene en cuenta la optimización del código. Mientras está en la versión de lanzamiento, la información simbólica de depuración no se emite y la ejecución del código está optimizada. Además, como la información simbólica no se emite en una compilación de lanzamiento, el tamaño del ejecutable final es menor que un ejecutable de depuración.

Uno puede esperar ver errores graciosos en las compilaciones de lanzamiento debido a optimizaciones del compilador o diferencias en el diseño de la memoria o la inicialización. Estos son usualmente referidos como Release - Only bugs :)

En términos de velocidad de ejecución, un ejecutable de lanzamiento se ejecutará más rápido de seguro, pero no siempre será diferente.

Cuestiones relacionadas