Depurar o método OnStart

Para depurar um serviço Windows, inicie o serviço e anexe o depurador ao processo de serviço. Para obter mais informações, confira Como depurar aplicativos de Serviço Windows. No entanto, para depurar o método System.ServiceProcess.ServiceBase.OnStart de um serviço Windows, inicie o depurador de dentro do método.

  1. Adicione uma chamada para Launch no início do método OnStart().

    protected override void OnStart(string[] args)
    {
        System.Diagnostics.Debugger.Launch();
    }
    
  2. Inicie o serviço (você pode usar net start ou iniciá-lo na janela Serviços).

    Você deve ver uma caixa de diálogo como esta:

    Screenshot of a Visual Studio Just-In-Time Debugger dialog box that shows an unhandled .NET Framework exception occurred in WindowsService-Asis.exe.

  3. Selecione Sim, <nome do serviço> de depuração.

  4. Na janela Depurador Just-In-Time, selecione a versão do Visual Studio que você deseja usar para depuração.

    Screenshot of a Visual Studio Just-In-Time Debugger window with 'New instance of Microsoft Visual Studio' selected in the list of Possible Debuggers.

  5. Uma nova instância do Visual Studio é iniciada, e a execução é interrompida no método Debugger.Launch().