Déboguer la méthode OnStart

Vous pouvez déboguer un service Windows en le démarrant et en attachant le débogueur au processus de service. Pour plus d’informations, consultez Guide pratique pour déboguer les applications de service Windows. Toutefois, pour déboguer la méthode System.ServiceProcess.ServiceBase.OnStart d’un service Windows, vous devez lancer le débogueur à l’intérieur de la méthode.

  1. Ajoutez un appel à Launch au début de la méthode OnStart().

    protected override void OnStart(string[] args)
    {
        System.Diagnostics.Debugger.Launch();
    }
    
  2. Démarrez le service (avec net startou à partir de la fenêtre Services ).

    Une boîte de dialogue similaire à celle ci-dessous doit s’afficher :

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

  3. Sélectionnez Oui, déboguer <nom_service>.

  4. Dans la fenêtre du débogueur juste-à-temps, sélectionnez la version de Visual Studio à utiliser pour le débogage.

    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. Une nouvelle instance de Visual Studio démarre, mais son exécution s’arrête à la méthode Debugger.Launch() .