Gewusst wie: Debuggen der OnStart-Methode

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Thema ist vorhanden Thema ist vorhanden

Nur verwaltet

Thema ist vorhanden

Standard

Thema ist vorhanden Thema ist vorhanden

Nur verwaltet

Thema ist vorhanden

Pro und Team

Thema ist vorhanden Thema ist vorhanden

Nur verwaltet

Thema ist vorhanden

Tabellenlegende:

Thema ist vorhanden

Vorhanden

Thema ist nicht vorhanden

Nicht vorhanden

Thema ist vorhanden, Befehl wird jedoch standardmäßig verborgen

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

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