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