2011-03-11 11 views

Respuesta

31

cito

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

una lata esperar ver errores graciosos en las versiones de lanzamiento debido a las optimizaciones del compilador o diferir ences en el diseño de la memoria o la inicialización. Éstos se refieren a ususally como Release - Sólo los errores :)

En términos de velocidad de ejecución, un ejecutable de liberación se ejecutará más rápido con seguridad, pero no siempre se diferencia esto sea significativo "

Cortesía de Google y el usuario. mcdeeiis http://haacked.com/archive/2004/02/14/difference-between-debug-vs-release-build.aspx

Ésta es una explicación bastante sólido para todos los lenguajes de programación

+3

Gracias Ross Alexander por el enlace, explica como se generará alguna información de depuración simbólica en modo de depuración, ¿qué significa eso exactamente, dónde ver esa información, será útil para borrar los errores, si es así cómo hacer usarlo para depurar y borrar los errores, ¿puedes explicar una instancia? – pradeepa

+3

Información de depuración simbólica: información que vincula información binaria con el código fuente. Tales como números de línea, nombres de variables, etc. Le permite depurar su código con referencia a su código fuente. En términos de depuración esto por supuesto ayuda, pero ya estás usando esta información sin darte cuenta :) Creo que puedes activar esta información en modo de lanzamiento, así como una configuración en Xcode, pero no me cites sobre eso: P como yo no soy frente a Xcode en el momento – Candyfloss

+0

:) tendré que estudiar el diseño del compilador para entender estas cosas, gracias de todos modos :) – pradeepa

2

La versión de lanzamiento está más optimizado para un mejor rendimiento y menor tamaño.

También de la práctica personal, puedo decir que es útil activar más advertencias en la configuración de lanzamiento para saber qué métodos no se usan, qué métodos no tienen declaración donde se comparan los firmados/no firmados, así como otras cosas útiles.

+1

¿Por qué no activar esas advertencias en el modo de depuración también? –

+0

Dado que son más pedantes que funcionales, es bueno tener un código de advertencia gratuito para mí. – Eimantas

+1

Prefiero tener un código de advertencia en el modo * Versión *. Es mucho más importante allí de lo que está en el modo de depuración. Si soluciono los errores en el modo de depuración primero, desaparecerán cuando cambie al modo de lanzamiento. Lo que es más importante, los problemas "pedantes" como esos indican fallas de diseño en su código; necesita repararlas en el momento del diseño/depuración, no una vez que esté listo para la prueba/lanzamiento. –

Cuestiones relacionadas