Dela via


Felsöka en tjänst

Du kan använda någon av följande metoder för att felsöka tjänsten.

  • Använd felsökningsprogrammet för att felsöka tjänsten medan den körs. Hämta först processidentifieraren (PID) för tjänstprocessen. När du har hämtat PID:en ansluter du till den process som körs. Syntaxinformation finns i dokumentationen som ingår i felsökningsprogrammet.

  • Anropa funktionen DebugBreak för att anropa felsökningsprogrammet för just-in-time-felsökning.

  • Ange ett felsökningsprogram som ska användas när du startar ett program. Det gör du genom att skapa en nyckel med namnet Image File Execution Options på följande plats i registret:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

    Skapa en undernyckel med samma namn som din tjänst (till exempel MYSERV.EXE). I den här undernyckeln lägger du till ett värde av typen REG_SZmed namnet Felsökningsprogram. Använd den fullständiga sökvägen till felsökningsprogrammet som strängvärde. I kontrollpanelen För tjänster väljer du din tjänst, klickar på Start och kontrollerar Tillåt att tjänsten interagerar med Desktop. Tjänsten måste vara en interaktiv tjänst, annars kan felsökaren inte köras på standardskrivbordet. Observera att den här tekniken inte längre stöds från och med Windows Vista eftersom alla tjänster körs i en session som är reserverad exklusivt för tjänster och inte stöder visning av ett användargränssnitt.

  • Använd händelsespårning för att logga information.

Om du vill felsöka initieringskoden för en automatisk starttjänst måste du tillfälligt installera och köra tjänsten som en tjänst för start på begäran.

Ibland kan det vara nödvändigt att köra en tjänst som ett konsolprogram i felsökningssyfte. I detta scenario kommer funktionen StartServiceCtrlDispatcher att returnera ERROR_FAILED_SERVICE_CONTROLLER_CONNECT. Se därför till att strukturera koden så att tjänstspecifik kod inte anropas när det här felet returneras.

Felsöka ett tjänstprogram

Felsökningsverktyg för Windows