Compartir a través de


Cómo: Realizar compilación condicional con Trace y Debug

Actualización: noviembre 2007

Mientras depura una aplicación durante su desarrollo, la información generada en el seguimiento y la depuración se envía a la ventana Resultados de Visual Studio. No obstante, para incluir características de seguimiento en aplicaciones implementadas, debe compilar las aplicaciones instrumentadas con la directiva TRACE del compilador habilitada. Esto hace que el código de seguimiento se compile en la versión de lanzamiento de la aplicación. Si no habilita la directiva TRACE, el código de seguimiento se omite durante la compilación, y no se incluye en el ejecutable final que se implantará.

Tanto los métodos de seguimiento como los de depuración disponen de atributos condicionales asociados. Por ejemplo, si el atributo condicional para seguimiento toma el valor true (verdadero), todas las instrucciones de seguimiento 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 seguimiento 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 generar 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 verificación de las opciones de configuración del compilador que desee habilitar. Desactive las casillas de verificación 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 verificación de las opciones de configuración del compilador que desee habilitar. Desactive las casillas de verificación 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 seguimiento 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 seguimiento 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 Generar 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.

    Lenguaje

    Instrucción

    Resultado

    Visual Basic

    #CONST TRACE = true

    Habilita el seguimiento

     

    #CONST TRACE = false

    Deshabilita el seguimiento

     

    #CONST DEBUG = true

    Habilita la depuración

     

    #CONST DEBUG = false

    Deshabilita la depuración

    C#

    #define TRACE

    Habilita el seguimiento

     

    #undef TRACE

    Deshabilita el seguimiento

     

    #define DEBUG

    Habilita la depuración

     

    #undef DEBUG

    Deshabilita la depuración

Para deshabilitar el seguimiento 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.

    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

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