Я пишу службу Windows. Эта служба запускает другой процесс, который я разработал с помощью методов класса Process, но я хочу также запустить этот процесс в режиме отладки, используя, например, точки останова.
Как я могу это сделать?
Я пишу службу Windows. Эта служба запускает другой процесс, который я разработал с помощью методов класса Process, но я хочу также запустить этот процесс в режиме отладки, используя, например, точки останова.
Как я могу это сделать?
При отладке службы DebugBreak() очень удобен. Вы даже можете отладить запуск службы, что может быть очень сложно определить по времени, если вы попытаетесь присоединить процесс.
In C#
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
In C++
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
Также см. вопрос: как я могу использовать debugbreak() в C#.
В главном меню "Отладка->Присоединить процесс".
Помимо режима «присоединить процесс», я иногда находил удобным иметь исполняемый файл, который можно запускать непосредственно из Visual Studio (или просто как консольное приложение). Я не могу вспомнить, были ли при этом какие-то трудности, но я думаю, что они были... вам просто нужно предоставить обычную точку входа, а также точку входа службы.