Добавьте блок обработки ошибок (перехватывает UnhandledException или просто пытается / ловить блок вокруг подозрительного кода) и регистрируйте его (я использую либо Trace, либо Debug - вы можете просматривать эти сообщения с помощью DebugView).
Чтобы дать понять Service Manager, что существует ошибка (просто чтобы помочь пользователю), вы можете:
service.ExitCode = 1064; //ERROR_EXCEPTION_IN_SERVICE - just example
Где «сервис» - это объект вашей Услуги.