2

У меня есть несколько процессов, которые я хотел бы подключить к отладчику VS через powershell.Приложить отладчик к нескольким процессам через powershell

В настоящее время, я могу это сделать: Get-Process NServiceBus.Host | Debug-Process

Если есть только один процесс, то я предложено выбрать правильный отладчик, и я могу продолжать.

Однако, если есть несколько процессов, когда мне будет предложено выбрать отладчик для второго процесса, я не могу выбрать текущий исполняемый экземпляр Visual Studio.

Как я могу использовать powershell для присоединения нескольких процессов к исполняемому экземпляру visual studio для debuggin?

+0

Я никогда не знал или не пытался подключить более одного процесса к отладчику VS. Я просто не думаю, что это можно сделать. –

+0

@JohnPeters Я делаю несколько раз в день через отладку VIsual Studio Debug> Attach to Process. –

+0

Ничего себе! VS позволяет одновременно отлаживать несколько процессов? –

ответ

5

разжиться активного визуального экземпляра студии ...

$ ООД = [System.Runtime.InteropServices.Marshal] :: GetActiveObject ("VisualStudio.DTE")

.. . и сделать его прикрепить к набору процессов ...

($ dte.debugger.localprocesses | Где Name -Матч "Proc (один | два) .exe"). Attach()

... кажется, что между каждым подключением может потребоваться задержка, если требуется слишком много времени, иначе визуальная студия занята и отклонит вызов.

+0

Спасибо за этот намек, но почему-то он работает неправильно. Я получаю эту ошибку: + ($ dte.debugger.localprocesses | Where <<<< Name -Match "proc (one | two) .exe"). Attach() + CategoryInfo: InvalidArgument: (:) [Where-Object ], ParameterBindingException + FullyQualifiedErrorId: CannotConvertArgumentNoMessage, Microsoft.PowerShell.Commands.WhereObjectCommand – etalon11

+0

Эта вторая строка должна быть чем-то вроде этого ... По-моему, у меня только один процесс был обнаружен в то время, когда я его запустил ... подозреваю, что не ноль или многие процессы могут вызвать ошибку, которую вы видели etalon11. $ dte.debugger.localprocesses | Где имя -Match "proc (один | два) .exe" | % {$ _. Прикрепить()} – softwarebear