Delen via


Fouten opsporen in een service

U kunt een van de volgende methoden gebruiken om fouten in uw service op te sporen.

  • Gebruik het foutopsporingsprogramma om fouten in de service op te sporen terwijl deze wordt uitgevoerd. Haal eerst de proces-id (PID) van het serviceproces op. Nadat u de PID hebt verkregen, koppelt u deze aan het actieve proces. Zie de documentatie die is opgenomen in uw foutopsporingsprogramma voor syntaxisinformatie.

  • Roep de functie DebugBreak aan om het foutopsporingsprogramma aan te roepen voor Just-In-Time-foutopsporing.

  • Geef een foutopsporingsprogramma op dat moet worden gebruikt bij het starten van een programma. Hiervoor maakt u een sleutel met de naam Opties voor het uitvoeren van installatiekopieĆ«nbestand op de volgende registerlocatie:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

    Maak een subsleutel met dezelfde naam als uw service (bijvoorbeeld MYSERV.EXE). Voeg aan deze subsleutel een waarde toe van het type REG_SZ, met de naam Foutopsporingsprogramma. Gebruik het volledige pad naar het foutopsporingsprogramma als tekenreekswaarde. Selecteer uw service in het configuratiescherm Services, klik op Opstarten en controleer Toestaan dat de service communiceert met Desktop. De service moet een interactieve service zijn, anders kan het foutopsporingsprogramma niet worden uitgevoerd op het standaard bureaublad. Houd er rekening mee dat deze techniek niet meer wordt ondersteund vanaf Windows Vista omdat alle services worden uitgevoerd in een sessie die exclusief is gereserveerd voor services en geen ondersteuning biedt voor het weergeven van een gebruikersinterface.

  • Gebruik gebeurtenistracering om gegevens te registreren.

Als u fouten wilt opsporen in de initialisatiecode van een service voor automatisch starten, moet u de service tijdelijk installeren en uitvoeren als een service die op aanvraag start.

Soms kan het nodig zijn om een service als consoletoepassing uit te voeren voor foutopsporingsdoeleinden. In dit scenario zal de functie StartServiceCtrlDispatcher de waarde ERROR_FAILED_SERVICE_CONTROLLER_CONNECTretourneren. Zorg er daarom voor dat u uw code zodanig structureerd dat servicespecifieke code niet wordt aangeroepen wanneer deze fout wordt geretourneerd.

foutopsporing voor een servicetoepassing

Hulpprogramma's voor foutopsporing voor Windows