Compartir a través de


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

  1. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo del proyecto.

  2. 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

    SugerenciaSugerencia

    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

    NotaNota

    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

  1. Elimine la directiva del compilador en el código fuente.

    o bien,

  2. Desactive la directiva del compilador mediante un comentario.

    NotaNota

    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

Modificadores de seguimiento

Agentes de escucha de seguimiento

Otros recursos

Seguimiento e instrumentación de aplicaciones