Подтвердить что ты не робот

Как подключить процесс к отладчику в Visual Studio?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

В Visual Studio 2015 нажмите "Отладка" > "Прикрепить к процессу" в меню. Кроме того, имеется комбинация клавиш Ctrl + Alt + P.

Ответ 5

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

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());