Cómo: Realizar compilación condicional con Trace y Debug
Mientras depura una aplicación durante su desarrollo, la información generada en la traza y la depuración se envía a la ventana de salida de Visual Studio. No obstante, para incluir características de traza en aplicaciones implementadas, debe compilar las aplicaciones instrumentadas con la directiva TRACE del compilador habilitada. Esto hace que el código de traza se compile en la versión de lanzamiento de la aplicación. Si no habilita la directiva TRACE, el código de traza se omite durante la compilación, y no se incluye en el ejecutable final que se implantará.
Tanto los métodos de traza como los de depuración disponen de atributos condicionales asociados. Por ejemplo, si el atributo condicional para traza toma el valor true (verdadero), todas las instrucciones de traza se incluirán dentro de un ensamblado (una archivo compilado .exe o .dll); en cambio, si el atributo condicional Trace es false, las instrucciones de traza no se incluyen.
En una compilación, puede activar cualquiera de los atributos condicionales Trace o Debug, ambos o ninguno. De ese modo, se pueden compilar cuatro tipos de versiones: Debug, Trace, ambas o ninguna. Algunas versiones de lanzamiento para producción no activan ninguno de los atributos condicionales; la mayoría de las versiones de depuración activan ambos.
Las opciones del compilador para una aplicación se pueden especificar de varias formas:
Las páginas de propiedades
La línea de comandos
#CONST (para Visual Basic) y #define (para C#)
Para cambiar las opciones de compilación desde el cuadro de diálogo de páginas de propiedades
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo del proyecto.
Elija Propiedades en el menú contextual.
En Visual Basic, haga clic en la ficha Compilación en el panel izquierdo de la página de propiedades, a continuación, haga clic en el botón Opciones de compilación avanzadas para mostrar el cuadro de diálogo Configuración de compilador avanzada. Active las casillas de las opciones de configuración del compilador que desee habilitar. Desactive las casillas de las opciones que desee deshabilitar.
En C#, haga clic en la ficha Generar en el panel izquierdo de la página de propiedades y, a continuación, active las casillas de las opciones de configuración del compilador que desee habilitar. Desactive las casillas de las opciones que desee deshabilitar.
Para compilar código instrumentado desde la línea de comandos
Coloque un modificador condicional para el compilador en la línea de comandos. El compilador incluirá código de traza o depuración en el ejecutable.
Por ejemplo, la siguiente instrucción del compilador especificada en la línea de comandos incluiría el código de traza en un ejecutable compilado:
Para Visual Basic: vbc /r:System.dll /d:TRACE=TRUE /d:DEBUG=FALSE MiAplicación.vb
Para C#: sc /r:System.dll /d:TRACE /d:DEBUG=FALSE MiAplicación.cs
Sugerencia Para compilar varios archivos de aplicación, deje un espacio en blanco entre los nombres de archivo, por ejemplo, MiAplicación1.vb MiAplicación2.vb MiAplicación3.vb o MiAplicación1.cs MiAplicación2.cs MiAplicación3.cs.
El significado de las directivas de compilación condicional utilizadas en el ejemplo anterior es el siguiente:
Directiva
Significado
vbc
Compilador de Visual Basic
csc
Compilador de C#
/r:
Hace referencia a un ensamblado externo (EXE o DLL)
/d:
Define un símbolo para compilación condicional
Nota Debe escribir TRACE o DEBUG con letras mayúsculas.Para obtener más información acerca de los comandos de compilación condicional, escriba vbc /? (para Visual Basic) o csc /? (para C#) en el símbolo del sistema.Para obtener más información, vea Compilar desde la línea de comandos (C#) o Invocar al compilador de la línea de comandos (Visual Basic).
Para realizar compilación condicional mediante #CONST o #define
Escriba la instrucción apropiada para el lenguaje de programación en la parte superior del archivo de código fuente.
Idioma
Instrucción
Resultado
Visual Basic
#CONST TRACE = true
Habilita la traza
#CONST TRACE = false
Deshabilita la traza
#CONST DEBUG = true
Habilita la depuración
#CONST DEBUG = false
Deshabilita la depuración
C#
#define TRACE
Habilita la traza
#undef TRACE
Deshabilita la traza
#define DEBUG
Habilita la depuración
#undef DEBUG
Deshabilita la depuración
Para deshabilitar la traza o la depuración
Elimine la directiva del compilador en el código fuente.
o bien,
Desactive la directiva del compilador mediante un comentario.
Nota Cuando esté preparado para compilar, puede elegir Generar, en el menú Generar, o bien utilizar el método de la línea de comandos sin escribir d: para definir símbolos de compilación condicional.
Vea también
Tareas
Cómo: Configurar modificadores de seguimiento
Cómo: Agregar instrucciones de seguimiento al código de una aplicación
Cómo: Establecer variables de entorno
Cómo: Invocar al compilador de la línea de comandos (Visual Basic)
Conceptos
Introducción a la instrumentación y el seguimiento
Agentes de escucha de seguimiento