Problema redirigiendo la salida de depuración a un archivo usando el escucha de rastreo
He creado un detector de depuración para redirigir la salida de la ventana Debug / Console a un archivo (con una pila de llamadas), usando el siguiente código:
void SomeMethod()
{
// Create a file for output .txt.
Stream debugFile = File.Create(fileName);
// create TextWriterTraceListener named "file"
TextWriterTraceListener debugWriter = new TextWriterTraceListener(debugFile, "file");
// add to debug listeners
Debug.Listeners.Add(debugWriter);
// set callstack to be shown
Debug.Listeners["file"].TraceOutputOptions |= TraceOptions.Callstack;
// set auto-flush
Debug.AutoFlush = true;
}
pero el resultado no redirigirá al archivo que especifiqué, siempre está vacío.
Llamo a esto desde el constructor en mi formulario principal. ¿Es el lugar donde lo llamo por un problema?
Lo que estoy tratando de lograr aquí es tener las excepciones de la ventana de salida de Depuración colocadas en un archivo con una pila de llamadas, para que pueda encontrarlas y corregirlas.
ACTUALIZA: Después de algunas investigaciones llegué a la conclusión de que agregar una nuevaTraceListener
a la depuraciónListeners
collection no redirige el resultado de la depuración / consola. En realidad solo responde aWrite
, WriteLine
etc. métodos al igual que el oyente predeterminado. El problema sigue siendo: ¿Cómo capturar la salida de la ventana Debug / Console y cómo obtener el seguimiento de la pila de las excepciones que aparecen allí?
¿Alguien tiene alguna idea