Как запустить другой процесс в режиме отладки?

Я пишу службу Windows. Эта служба запускает другой процесс, который я разработал с помощью методов класса Process, но я хочу также запустить этот процесс в режиме отладки, используя, например, точки останова.

Как я могу это сделать?


person Victor Rodrigues    schedule 17.11.2008    source источник


Ответы (3)


При отладке службы DebugBreak() очень удобен. Вы даже можете отладить запуск службы, что может быть очень сложно определить по времени, если вы попытаетесь присоединить процесс.

In C#

#if DEBUG
  System.Diagnostics.Debugger.Break();
#endif

In C++

#if DEBUG
  System.Diagnostics.Debugger.Break();
#endif

Также см. вопрос: как я могу использовать debugbreak() в C#.

person Ulf Lindback    schedule 17.11.2008

В главном меню "Отладка->Присоединить процесс".

person Ali Ersöz    schedule 17.11.2008

Помимо режима «присоединить процесс», я иногда находил удобным иметь исполняемый файл, который можно запускать непосредственно из Visual Studio (или просто как консольное приложение). Я не могу вспомнить, были ли при этом какие-то трудности, но я думаю, что они были... вам просто нужно предоставить обычную точку входа, а также точку входа службы.

person Jon Skeet    schedule 17.11.2008