Pregunta

Tenía curiosidad por saber cuáles son las diferencias entre los modos de depuración y liberación del compilador .NET y encontré estas preguntas sobre debug vs release en .NET y razones por las que la versión se comportará de manera diferente a la depuración . Hasta este punto, realmente no he prestado mucha atención a estos modos de compilación. Ahora lo haré.

Mi pregunta es, suponiendo que estoy usando un marco de prueba (NUnit) y TDD, ¿tendría algún problema si simplemente compilara siempre en modo de lanzamiento?

¿Fue útil?

Solución

Estás usando TDD. Tú escribes tu prueba. La prueba falla. Escribes el código para pasar la prueba. El código falla. Miras el código que escribiste y no puedes ver ninguna razón obvia por la que falla. ¿Razona un poco más o inicia la prueba en el depurador (usando TestDriven.Net) y realiza la prueba? Tal vez no soy lo suficientemente inteligente como para descubrir siempre por qué mi código no funciona, pero generalmente hago esto último cuando estoy perplejo.

Otros consejos

El modo de depuración desactiva muchas de las optimizaciones. Esto significa que cuando obtenga un seguimiento de la pila, se verá más como el código original.

Una diferencia bastante significativa entre las configuraciones de depuración y liberación es que las llamadas a métodos marcados con ConditionalAttribute solo se compilan si se define el símbolo asociado. Por lo tanto, sus llamadas a los métodos de la clase Debug no se incluyen si compila utilizando la configuración de lanzamiento.

Esto le permite adornar su código con aserciones y código que arroja información a la consola y, sin embargo, puede estar seguro de que ninguno de esos gastos generales aparecerá en su código de envío.

Además, editar y continuar es una herramienta extremadamente útil y se basa en la metainformación que se omite de las versiones de lanzamiento.

Para depuración.

Como dijo tvanfosson, incluso si normalmente no usa el depurador (sé que no), a veces necesita hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top