Как мне прикрепить процесс к отладчику в Visual Studio? - PullRequest
19 голосов
/ 12 июня 2009

Я знаю, что могу запустить процесс в коде с Process.Start(). Можно ли также присоединить отладчик к этому процессу?

Не из кода как такового , а просто способ сделать это?

Ответы [ 5 ]

23 голосов
/ 12 июня 2009

Вы можете присоединиться к запущенному процессу , используя Tools | Attach to Process. Если это веб-приложение, вы можете присоединиться к нему, прикрепив к aspnet_wp.exe или w3wp.exe.

Чтобы ответить на ваш вопрос о том, как программно присоединиться к процессу:

Вот другие вопросы о переполнении стека, которые касаются этого:

3 голосов
/ 12 июня 2009

В visual studio нажмите Инструменты | Присоединить к процессу. Затем выберите соответствующий сервис.

2 голосов
/ 12 июня 2009

Вы можете сделать это практически в любом отладчике, стоящем столько соли.

Visual Studio имеет тот, который должен соответствовать вашим потребностям.

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

1 голос
/ 17 мая 2017

Вы можете сделать это в своем коде.

public static void Attach(DTE2 dte)
        {
            var processes = dte.Debugger.LocalProcesses;
            foreach (var proc in processes.Cast<EnvDTE.Process>().Where(proc => proc.Name.IndexOf("YourProcess.exe") != -1))
                proc.Attach();
        }

        internal static DTE2 GetCurrent()
        {
            var dte2 = (DTE2)Marshal.GetActiveObject("VisualStudio.DTE.12.0"); // For VisualStudio 2013

            return dte2;
        }

Использование:

Attach(GetCurrent());
1 голос
/ 01 февраля 2016

В Visual Studio 2015 выберите «Отладка> Присоединить к процессу» в меню. В качестве альтернативы есть сочетание клавиш Ctrl + Alt + P.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...