Freigeben über


Gewusst wie: Debuggen der OnStart-Methode

Sie können den Konstruktor des Windows-Diensts debuggen, indem Sie in eine Instanz des Diensts springen. Den Windows-Dienst selbst können Sie debuggen, indem Sie ihn starten und dann den Debugger an den Dienstprozess anhängen. Um jedoch die OnStart-Methode eines Windows-Diensts zu debuggen, müssen Sie einige Codezeilen hinzufügen, mit denen der Dienst simuliert wird. Weitere Informationen finden Sie unter ServiceBase.OnStart.

So debuggen Sie die OnStart-Methode

  • Erstellen Sie eine Simulation des Diensts (z. B. eine Konsolenanwendung), um zu ermitteln, wo das Problem auftritt.

    Nehmen wir beispielsweise an, der Visual C#-Windows-Dienst sieht wie folgt aus:

    public class ManagedWindowsService : System.ServiceProcess.ServiceBase 
    {
       //
       // designer and user generated methods and properties
       //
       public static int main(String[] args)
       {      
          ServiceBase.Run( new ManagedWindowsService() );
       }
    }
    

    Fügen Sie folgende Codezeilen hinzu, um die OnStart-Methode zu debuggen:

    public static int main(String[] args)
    {      
       (new ManagedWindowsService()).OnStart(); // allows easy debugging of OnStart()
       ServiceBase.Run( new ManagedWindowsService() );
    }
    

    Der Dienst wird in diesem Modus nicht ausgeführt, jedoch können Sie die OnStart-Methode debuggen und sicherstellen, dass sie sich wie erwartet verhält.

Weitere Informationen finden Sie unter Debuggen von Windows-Dienstanwendungen.

Siehe auch

Konzepte

Debuggersicherheit

Weitere Ressourcen

Debuggen von verwaltetem Code