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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 Ernesto
22/10/2003 - 11:49 | Informe spam
Gracias.

Simplemente incluyendo

#if DEBUG
Debug.Listeners.Add(new TextWriterTraceListener(File.Create("myfile.log")));
#endif

en mi código he obtenido lo que quería, ya que con Visual Studio al utilizar
la opción DEBUG para compilar ya debe añadir el #define DEBUG.

Sin embargo, ¿sabe alguien como funciona el TraceSwitch y su archivo de
configuración XML?

Gracias.

Ernesto Lores
Barcelona

"Ariel Popovsky" escribió en el mensaje
news:#MZfRY$
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.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida