debug-trace

21/10/2003 - 17:22 por Ernesto | Informe spam
Hola grupo.

Estoy tratando de crear un archivo .log para ir siguiendo los pasos de mi
aplicación. La idea es que esto solo se debe hacer en modo DEBUG. Hago lo
siguiente:

Debug.Listeners.Add(new TextWriterTraceListener(File.Create("Debug.log")));

Despues añado sentencias Debug.Write("...") a lo largo de mi aplicación.
Mis preguntas son las siguientes.

1. ¿Como puedo hacer para que no me cree el fichero en modo RELEASE? Cuando
se compila en este modo, el compilador ignora todas las sentencias Debug por
lo que no se escribe nada en el fichero pero sin embargo el fichero se crea
igual.

2. ¿Hay alguna otra forma de conseguir esto? He estado mirando el
TraceSwitch pero no acabo de entenderlo. ¿Hay que utilizar sentencias del
tipo Trace.WriteIf(mySwitch.TraceInfo(o el que toque), "...")? ¿Podrías
darme un ejemplo del archivo XML app.config que se puede utilizar para
cambiar el nivel una vez compilada la aplicación?

Saludos y gracias por todo.
Ernesto.
 

Leer las respuestas

#1 Ariel Popovsky
21/10/2003 - 19:09 | Informe spam
Porque no pruebas usar directivas del preprocesador para incluir o excluir
el código de debug/trace.

Te paso un ejemplo de la MSDN.
// preprocessor_if.cs
#define DEBUG
#define VC_V7
using System;
public class MyClass
{
public static void Main()
{

#if (DEBUG && !VC_V7)
Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && VC_V7)
Console.WriteLine("VC_V7 is defined");
#elif (DEBUG && VC_V7)
Console.WriteLine("DEBUG and VC_V7 are defined");
#else
Console.WriteLine("DEBUG and VC_V7 are not defined");
#endif
}
}


Ariel Popovsky
Buenos Aires
"Ernesto" wrote in message
news:
Hola grupo.

Estoy tratando de crear un archivo .log para ir siguiendo los pasos de mi
aplicación. La idea es que esto solo se debe hacer en modo DEBUG. Hago lo
siguiente:

Debug.Listeners.Add(new


TextWriterTraceListener(File.Create("Debug.log")));

Despues añado sentencias Debug.Write("...") a lo largo de mi aplicación.
Mis preguntas son las siguientes.

1. ¿Como puedo hacer para que no me cree el fichero en modo RELEASE?


Cuando
se compila en este modo, el compilador ignora todas las sentencias Debug


por
lo que no se escribe nada en el fichero pero sin embargo el fichero se


crea
igual.

2. ¿Hay alguna otra forma de conseguir esto? He estado mirando el
TraceSwitch pero no acabo de entenderlo. ¿Hay que utilizar sentencias del
tipo Trace.WriteIf(mySwitch.TraceInfo(o el que toque), "...")? ¿Podrías
darme un ejemplo del archivo XML app.config que se puede utilizar para
cambiar el nivel una vez compilada la aplicación?

Saludos y gracias por todo.
Ernesto.


Preguntas similares