2011-02-02 21 views
5

Siempre me he preguntado qué diferentes "modos de implementación" (Modo de Liberación, Modo de Depuración, etc.) estaban en varios IDEs (Visual Studio, Netbeans, etc.). Estoy seguro de que significan cosas diferentes según los idiomas y las plataformas que admite el IDE, pero tiene que haber una intención subyacente común al marcar un proyecto como "Depurar" en lugar de "Liberar".Versión vs Modo de Depuración en IDE

¿Cuál es la diferencia entre estos modos? ¿Cómo los trata el IDE de manera diferente en el tiempo de compilación/ejecución/implementación? ¿Hay alguna manera de personalizar su propio modo ("Modo de desarrollo", "Modo de control de calidad", etc.)? Si es así, ¿cuáles son las configuraciones personalizadas típicas?

Gracias!

Respuesta

1

En la mayoría de los casos, puede usar este modo para activar y desactivar la información de depuración (registro).

Por lo que recuerdo bien: en .NET/Visual Studio puede usarlo, por ejemplo, incluso para definir secciones de código compiladas en función de algunas variables controladas por este modo. @see "Design Mode" preprocessor directive

+0

Gracias @Ralph! ¿Los registros generados son el único tipo de información de depuración que se omite en el Modo de lanzamiento, o hay más "cosas"? En cuanto a los registros, ¿qué tipos de registros de depuración, por ejemplo, produce NetBeans y qué hay en estos registros? – Pam

+0

@Pam ver mi respuesta mejorada – Ralph

3

El modo de depuración típico contiene todas las formas posibles de información de depuración, que se eliminan en los modos de publicación.

Esto es una herencia de lenguajes nativos como C donde ejecuta el código que genera. Es mucho menos un problema con Java, ya que el uso típico es a través de una JVM que realiza un paso de compilación adicional.

Depuración de información puede ser muy útil incluso para una acumulación modo de disparo, ya que permite la JVM para proporcionar información más detallada en los seguimientos de pila etc.

+0

¡Gracias! En otra respuesta a esta pregunta, @Ralph también menciona que Release Mode elimina esta llamada "información de depuración". ¿Puede usted (o cualquier otra persona) elaborar sobre qué es esta información y en qué consiste? Tomemos NetBeans/Java por ejemplo. ¡Gracias! – Pam

+0

La información de depuración para las clases de Java es, por lo que yo sé, la información del número de línea para el código de bytes y los nombres de las variables locales y los parámetros. Muy, muy útil al avanzar en un depurador incluso sin la fuente. –

+0

Entonces, si lo entiendo correctamente, recomienda mantener una versión "Debug" de un componente de producción para que, incluso en un entorno de producción donde no tenga acceso a la fuente, aún pueda adjuntarle un depurador y utilizar el ¿información de depuración? ¡Gracias! – Pam

3

En ciertos entornos de desarrollo (Medio C, C++) el modo de depuración también inicializa las variables a 0. Debe tener eso en cuenta si algo funciona en modo de depuración y no en modo de Liberación.

0

Puede poner debug="off" en build.xml archivo.

Indica si la fuente debe compilarse con información de depuración; se desactiva por defecto

Cuestiones relacionadas