Procedimiento para compilar con Trace y Debug de forma condicional
Nota:
Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluido .NET 6 y versiones posteriores.
Al depurar una aplicación durante el desarrollo, el seguimiento y la salida de depuración aparecen en la ventana Salida de Visual Studio. Pero para incluir características de seguimiento en una aplicación implementada, tendrá que compilar las aplicaciones instrumentadas con la directiva de compilador TRACE habilitada. Esto permite que el código de seguimiento se compile en la versión de lanzamiento de la aplicación. Si no habilita la directiva TRACE, se ignorará todo el código de seguimiento durante la compilación y no se incluirá en el código ejecutable que se va a implementar.
Los métodos de depuración y seguimiento tienen atributos condicionales asociados. Por ejemplo, si el atributo condicional para el seguimiento es true, todas las instrucciones de seguimiento se incluyen dentro de un ensamblado (un archivo .exe o .dll compilado); si el atributo condicional de Trace es false, no se incluyen las instrucciones de seguimiento.
Para una compilación puede tener activados ambos, uno o ninguno de los atributos condicionales Trace o Debug. Por tanto, hay cuatro tipos de compilación: Debug, Trace, ambos o ninguno. Algunas compilaciones de versión para la implementación de producción pueden no contener ninguno; la mayoría de las compilaciones de depuración contienen ambos.
La configuración del compilador para la aplicación se puede configurar de varias maneras:
Las páginas de propiedades
Línea de comandos
#CONST (para Visual Basic) y #define (para C#)
Para cambiar la configuración 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 derecho en el nodo del proyecto.
Seleccione Propiedades en el menú contextual.
En Visual Basic, haga clic en la pestaña Compilar en el panel izquierdo de la página de propiedades. Después, haga clic en el botón Opciones de compilación avanzadas para mostrar el cuadro de diálogo Configuración de compilador avanzada. Seleccione las casillas correspondientes a los valores de configuración del compilador que desee habilitar. Desactive las casillas de los valores de configuración que desee deshabilitar.
En C#, haga clic en la pestaña Compilar en el panel izquierdo de la página de propiedades y, después, active las casillas correspondientes a los valores de configuración del compilador que quiere habilitar. Desactive las casillas de los valores de configuración que desee deshabilitar.
Para compilar código instrumentado desde la línea de comandos
Establezca un modificador de compilación condicional en la línea de comandos. El compilador incluirá código de seguimiento o depuración en el archivo 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 MyApplication.vb
Para C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs
Sugerencia
Para compilar varios archivos de aplicación, deje un espacio en blanco entre los nombres de archivo, por ejemplo, MyApplication1.vb MyApplication2.vb MyApplication3.vb o MyApplication1.cs MyApplication2.cs MyApplication3.cs.
El significado de las directivas de compilación condicional usadas en los ejemplos anteriores 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 de compilación condicional Nota
TRACE o DEBUG deben escribirse en letras mayúsculas. Para obtener más información sobre los comandos de compilación condicional, escriba
vbc /?
(para Visual Basic) ocsc /?
(para C#) en el símbolo del sistema. Para más información, vea Building from the Command Line (Compilar desde la línea de comandos) (C#) o Invoking the Command-Line Compiler (Invocar el compilador de línea de comandos) (Visual Basic).
Para realizar compilación condicional mediante #CONST o #define
Escriba la instrucción apropiada para su lenguaje de programación en la parte superior del archivo de código fuente.
Idioma . 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
Elimine la directiva de compilador del código fuente.
O bien
Convierta en comentario la directiva de compilador.
Nota
Cuando esté preparado para compilar, puede elegir Compilar en el menú Compilar, o bien usar el método de línea de comandos, pero sin escribir d: para definir símbolos de compilación condicional.
Consulte también
- Seguimiento e instrumentación de aplicaciones
- Procedimiento para crear, inicializar y configurar modificadores de seguimiento
- Modificadores de seguimiento
- Agentes de escucha de seguimiento
- Adición de instrucciones de seguimiento al código de la aplicación
- Establecimiento de variables de entorno para la línea de comandos de Visual Studio
- Procedimiento Invocación del compilador de la línea de comandos