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

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

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


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


Ответы (3)


arrow_upward
4
arrow_downward

При отладке службы 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

arrow_upward
2
arrow_downward

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

person Ali Ersöz    schedule 17.11.2008

arrow_upward
1
arrow_downward

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

person Jon Skeet    schedule 17.11.2008