Estoy construyendo una herramienta de desarrollo interno para administrar los diferentes procesos comúnmente utilizados en nuestro entorno de desarrollo. La herramienta muestra la lista de los procesos supervisados, indica su estado de ejecución y permite iniciar o detener cada proceso.Cómo adjuntar un depurador dinámicamente a un proceso específico
Me gustaría agregar la funcionalidad de adjuntar un depurador a un proceso supervisado desde mi herramienta en lugar de ir en 'Depurar-> Adjuntar para procesar' en Visual Studio y encontrar el proceso.
Mi objetivo es tener algo como Debugger.Launch() que muestre una lista del estudio visual disponible. No puedo usar Debugger.Launch() porque ejecuta el depurador en el proceso que realiza la llamada. Necesitaría algo como Debugger.Launch (processId).
¿Alguien sabe cómo lograr esta funcionalidad?
Una solución podría ser implementar un comando en cada proceso supervisado para llamar a Debugger.Launch() cuando se recibe el comando desde la herramienta de supervisión, pero preferiría algo que no requiera modificar el código de los procesos supervisados .
Pregunta al lado: Al usar Debugger.Launch(), las instancias de Visual Studio que ya tienen un depurador conectado no están en la lista. Visual Studio no está limitado a un depurador adjunto, puede adjuntarlo en varios procesos al usar 'Depurar -> Adjuntar para procesar'.
¿Alguien sabe cómo eludir esta limitación al usar Debugger.Launch() o una alternativa?
¿Hizo un plugin VS personalizado para esto? ¿O cómo lo "cableaste"? Tengo una necesidad similar. Estoy mirando su código aquí, pero buscando cómo lo conectó en su solución final. Gracias. – granadaCoder
No creamos un complemento VS, utilizamos ese código en una herramienta personalizada que supervisa nuestros procesos de productos. –
Ok. Pude usar esto. Daría tu respuesta ... 3 "Upvotes" si pudiera. – granadaCoder