Отладка проблемы службы Windows - PullRequest
0 голосов
/ 11 мая 2011

Я создал службу Windows. Я попытался отладить, для этого я использую. На вкладке «Отладка» нажмите «присоединить», чтобы обработать, выберите «Myservice.exe», он не пройдет через точку останова.

В службе при событии запуска я написал следующий код

     protected override void OnStart(string[] args)
    {

        Console.WriteLine("Press Enter to terminate ...");
    }

Пожалуйста, помогите мне, как решить эту проблему ....

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

Используйте следующий метод. На ваш код.На сегодняшний день это самый простой способ установить точку останова в служебной библиотеке.

Debugger.Break();

protected override void OnStart(string[] args)
    {
        Debugger.Break();
        Console.WriteLine("Press Enter to terminate ...");
    }
0 голосов
/ 11 мая 2011

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

#if DEBUG    
if (!Debugger.IsAttached)
{
    Debugger.Launch();
}    
#endif

Вы можете даже использовать этот код в вашем основном методе, он будет запускать службу как обычное приложение врежим отладки:

public static void Main()
{
    var service = new YourService();
#if DEBUG
    service.Start();
    Console.ReadLine();
    service.Stop();
#else
    var ServicesToRun = new System.ServiceProcess.ServiceBase[] { service };
    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#endif
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...