Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 10:37
Оценка:
Добрый день!

Написал сервис на основе класса ServiceBase. Но решулярно при попытки запуска сервиса появляется ошибка:
Could not start the <service_name> service on Local Computer.
The service did not return error...
Как можно узнать причины появления ошибки?

Заранее спасибо,
BW
GDN: Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 14:10
Оценка:
#Имя: -=???=-
Такая ошибка выводится например тогда, когда сервис генерирует и не перехватывает исключение.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
GDN: Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 13:07
Оценка:
>Как можно узнать причины появления ошибки?

Поместить в try/catch содержимое метода OnStart и в catch писать exception.ToString() в Windows Event Log (см.класс EventLog)


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
GDN: Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 13:14
Оценка:
Или выполните отладку сервиса и на лету посмотрите исключение.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
GDN: Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 14:15
Оценка:
Вопрос к AlexGaas.
А как можно в данном случае выполнить отладку сервиса на лету?
Непосредственно запустить его в дебаг-моде не получиться т.к. это сервис, а не обычная программа. А процесс сервиса, к которому мы можем присоединиться для его отладки, появиться только после выполнения OnStart() в котором, как я понял и происходит ошибка.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: GDN: Ошибка при запуске сервиса
От: Apollo13 Украина  
Дата: 20.08.04 15:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос к AlexGaas.

А>А как можно в данном случае выполнить отладку сервиса на лету?
А>Непосредственно запустить его в дебаг-моде не получиться т.к. это сервис, а не обычная программа. А процесс сервиса, к которому мы можем присоединиться для его отладки, появиться только после выполнения OnStart() в котором, как я понял и происходит ошибка.

Как насчет


System.Diagnostics.Debug.Assert(false);


в методе OnStart?
Способ отладки сервиса
От: Аноним  
Дата: 20.08.04 15:15
Оценка: 12 (1)
#Имя: FAQ.dotnet.service.debug
  protected override void OnStart(string[] args)
  {
   System.Diagnostics.Debugger.Launch();
   eventLog.WriteEntry("Server started");
   server = new Server();
  }


Если изменить метод сервиса OnStart так, как в этом примере, то при запуске службы выскочит диалог с вопросом, какой отладчик запускать. Можно выбрать нужный пункт, после чего в отладчике служба остановится в этом месте.
После запуска отладчик останавливается на строке System.Diagnostics.Debugger.Launch();. Чтобы успешно отлаживаться, надо не забыть "отпустить отладчик" дальше побыстрее, потому что, если постоять тут 30 сек., SCM решит, что служба не запустилась и поток завершится.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
GDN: Ошибка при запуске сервиса
От: Аноним  
Дата: 20.08.04 15:20
Оценка:
Полезная штука, спасибо :j)


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.