sysinternal password desktops c# debugging testing trace

c# - desktops - sysinternals password



¿Cómo interceptar la información de depuración(estilo Debugview) en C#? (2)

¿La aplicación que desea rastrear utiliza el rastreo estándar basado en System.Diagnostics ? En ese caso, podrías construir tu propio TraceListener .

Para fines de prueba, estoy planeando armar una pequeña aplicación que escuche un evento particular proveniente de una aplicación e interactúe con él en ese punto.

Dado que estamos en un punto en el proceso de prueba donde cambiar el código de la aplicación está fuera de discusión, lo ideal desde mi punto de vista sería escuchar el seguimiento de depuración de la aplicación, un poco como lo hace la depuración, y responder a ese.

¿Alguien puede ofrecer una guía sobre la mejor manera de hacer esto?


La forma en que lo encontré usó las herramientas Mdbg de Microsoft para darme acceso desde el tiempo de ejecución a la información básica de depuración. La forma básica del código que estoy usando se ve así:

MDbgEngine mg; MDbgProcess mgProcess; try { mg = new MDbgEngine(); mgProcess = mg.Attach(debugProcess.Id); } catch (Exception ed) { Console.WriteLine("Exception attaching to process " + debugProcess.Id ); throw (ed); } mgProcess.CorProcess.EnableLogMessages(true); mgProcess.CorProcess.OnLogMessage += new LogMessageEventHandler(HandleLogMessage); mg.Options.StopOnLogMessage = true; mgProcess.Go().WaitOne(); bool running = true; Console.CancelKeyPress += new ConsoleCancelEventHandler(Console_CancelKeyPress); while (running) { try { running =mgProcess.IsAlive; mgProcess.Go().WaitOne(); } catch { running = false; } }

Parece que funciona lo suficientemente bien como para lo que necesito, de todos modos, quizás proporcione una plantilla útil para cualquier persona que se encuentre en el mismo barco.