Я создаю внутренний инструмент dev для управления различными процессами, которые обычно используются в нашей среде разработки. Инструмент отображает список контролируемых процессов, указывает их рабочее состояние и позволяет запускать или останавливать каждый процесс.
Я хотел бы добавить функциональность прикрепления отладчика к контролируемому процессу из моего инструмента вместо того, чтобы идти в "Debug- > Attach to process" в визуальной студии и находить процесс.
Моя цель - иметь что-то вроде Debugger.Launch(), который будет показывать список доступной визуальной студии. Я не могу использовать Debugger.Launch(), потому что он приветствует отладчик процесса, выполняющего вызов. Мне нужно что-то вроде Debugger.Launch(processId).
Кто-нибудь знает, как добиться этой функциональности?
Решением может быть реализация команды в каждом контролируемом процессе для вызова Debugger.Launch(), когда команда получена из инструмента мониторинга, но я бы предпочел, чтобы не требовалось модифицировать код контролируемых процессов.
Боковой вопрос: При использовании Debugger.Launch() экземпляры Visual Studio, у которых уже есть отладчик, не указаны. Visual Studio не ограничивается одним прикрепленным отладчиком, вы можете прикрепить несколько процессов при использовании "Отладка → Прикрепить к процессу".
Кто-нибудь знает, как обойти это ограничение при использовании Debugger.Launch() или альтернативы?