Como depurar o método OnStart
Você pode depurar o construtor do serviço do Windows entrando em uma instância do serviço. Você pode depurar o serviço do Windows por si próprio iniciando o serviço e anexando o depurador ao processo de serviço. No entanto, para depurar o método OnStart de um serviço do Windows, você deverá adicionar algumas linhas de código para simular o serviço. Para obter mais informações, consulte ServiceBase.OnStart.
Para depurar um problema no método OnStart
Crie uma simulação do serviço (um aplicativo de console, por exemplo) para determinar onde está o problema.
Por exemplo, suponha que você tenha um serviço do Windows do Visual C# semelhante ao seguinte:
public class ManagedWindowsService : System.ServiceProcess.ServiceBase { // // designer and user generated methods and properties // public static int main(String[] args) { ServiceBase.Run( new ManagedWindowsService() ); } }
Adicione as seguintes linhas de código para depurar o método OnStart:
public static int main(String[] args) { (new ManagedWindowsService()).OnStart(); // allows easy debugging of OnStart() ServiceBase.Run( new ManagedWindowsService() ); }
O serviço não será executado nesse modo, mas você pode depurar o método OnStart e verificar se ele está se comportando conforme o esperado.
Para obter mais informações, consulte Depurando aplicativos de serviço do Windows.