0

В настоящее время я обнаружил, что один из моих проектов, который является службой Windows, останавливается сразу после его запуска. Раньше это было не так.Как отлаживать багги-службу Windows, которая останавливается сразу после ее запуска

Хуже того, я не могу подключить эту услугу к Visual Studio, так как она была остановлена ​​сразу же после ее запуска.

Моя система сервера Windows 2012 R2 и Visual Studio является 2013.

Есть в любом случае для меня, чтобы отладить сервис?

+0

Предоставляет ли EventLog (приложение, безопасность) какие-либо подсказки? – Filburt

+0

Да, но сообщение об ошибке не имеет особого смысла. Он просто говорит: SimpleInjector.ActivationException. –

ответ

0

Я только что нашел ответ в MSDN.

https://msdn.microsoft.com/en-us/library/cktt23yw.aspx

Добавьте следующий код:

System.Diagnostics.Debugger.Launch(); 

В самом начале метода OnStart. Затем запустите net start serviceName (необходимы административные учетные данные)

+0

, так как вы решили эту проблему, пожалуйста, отметьте свой ответ в качестве ответа, так что это будет приятное решение, которое может помочь другим членам сообщества, которые отвечают той же проблеме, что и ваша :) –

+0

Я сделаю это завтра (система не позвольте мне сделать это сейчас). –

0

Вы можете запустить сервис непосредственно в отладчике. Для этого вы можете либо изменить команду запуска службы (sc config binPath=), либо вы можете использовать GFlags, чтобы изменить изображение службы для запуска в отладчике. В обоих случаях ваш отладчик будет в фоновом режиме, и вам нужно будет затем удалиться в него.

Но обычно вы можете решить проблему с дампов, если таковые имеются. Часто просто запускать исполняемый файл службы из той же учетной записи, что и служба, покажет проблему.

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

+0

Вы имеете в виду, что мне нужно использовать sc config binPath для двоичного файла в папке создания Visual Studio, а затем начать отладку в Visual Studio? –