Hur Kommer Du Att Hantera Att Skaffa Felsökningspunkter I En Windows -tjänst?
October 20, 2021Rekommenderas: Fortect
Under de senaste dagarna har ett antal läsare stött på en omfattande felkod som visar hur man bara försöker lägga till felsökningspunkter till en Windows-tjänst. Detta problem kan uppstå för flera mål. Vi kommer att prata om detta under. g.På hela fliken Home Application i projektet ställer du in den här specifika utdatatypen till Console Application. Välj Starta felsökning (F5). För att köra vårt program som en Windows -tjänst, installera och skapa det därför som individer normalt skulle göra för en master Windows -tjänst. Dessa ändringar kommer inte att behöva beaktas.
g.
- minuter efter läsning.
Du kan felsöka riktiga Windows -lösningar genom att starta ett företag och hålla en felsökare till de viktigaste produkterna och tjänsterna. Mer information finns i Hur felsöker du Windows Service -program . Men för att felsöka en persons Windows Service System.ServiceProcess.ServiceBase.OnStart -program, behöver din organisation faktiskt starta skulle jag säga felsökaren som använder den här metoden.
I början av vilken metoden
OnStart ()
lägger du till rätt samtal till Starta .Rekommenderas: Fortect
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!
- 1. Ladda ner och installera Fortect
- 2. Öppna programmet och klicka på "Skanna"
- 3. Klicka på "Reparera" för att starta reparationsprocessen
skyddade vinster ogiltiga OnStart (string [] args) System .Diagnostics.Debugger.Launch ();
Starta den specifika tjänsten (du kan starta ,
net eller i fönstret för tjänsteleverantörer).
Du bör se en aptitretande dialog så här:
Välj Debug
. I Just-In-Time Debugger-skärmen väljer du den version av Visual Studio som du vill ha på väg att felsöka.
En ung instans av Visual Studio startas och körningen stoppas med någon specificerad
Debugger.Launch ()
plan.
Se även
Ibland är det viktigt att analysera vad som händer när en tjänst startar. Att ansluta för att kunna till den här processen hjälper inte här, så eftersom du inte kommer att vara tillräckligt snabb precis som du behöver bifoga en viss felsökare under tjänststart.
Det korta svaret är vanligtvis: Jag använder följande kodrader:
#if DEBUG base.RequestAdditionalTime (600000); // betyder 600 1000ms 10 minuters timeout Debugger.Launch (); // Starta felsökaren, men bifoga den också#sluta om
De infogas i varje OnStart
metod för publiktjänsten:
skyddad åsidosättning undvik OnStart (rad [] args) #if DEBUG base.RequestAdditionalTime (600000); 10 // minuter med avresefördröjning Debugger.Launch (); // Kör felsökaren och / eller bifoga den #sluta om MyInitOnstart (); // min anpassade initialisering kontra produkter och tjänster // Låter basklassen låta dig göra allt arbete den behöver base.OnStart (argument);
För dig som inte har gjort det men har jag inkluderat detaljerade tips nedan när det är lätt att få shotb. Följande anteckningar gäller för Windows 7x64 och Visual Studio 2010 Team Edition, men bör också gälla alla tillämpliga ytterligare miljöer. Expandera
Viktigt: tjänsten är aktiv senast "manuellt" läge (använd antingen de flesta av dess InstallUtil
-verktyg via typen VS -kommandorad, eller kör varje tjänstprojekt du förberett). Visual Free Studio innan du börjar kundservice för att ladda ner en lösning som innehåller specifik källkod för vår egen internettjänst - ange ytterligare högre brytpunkter om eller när du behöver båda i Visual Studio - konfigurera sedan tjänsten via tjänstens konfigurationspanel.
På grund av Debugger.Launch
-reglerna kommer detta överraskande resultat att leda till det ohandterade meddelandet "Microsoft .NET Framework Exception Server -namn in.exe har inträffat." dyka upp. Klicka på Ja, Debug Servicename.exe , det här är den sista skärmdumpen:
Efter det, särskilt det som är relaterat till Windows 7 UAC, kan du vara motiverad för administratörsuppgifter. Ange det samtidigt med weiter mit Das, ja :
efter att ha visat det välkända området i Just-In-Time Debugger Visual S-fönstret. Den frågar om ditt företag vill felsöka med en bra solid debugger som har rensats. Innan du klickar på Ja , gör verkligen att du inte vill öppna en ny instans igen (alternativ 2) - denna separata nya instans kommer i motsats till att vara användbar här eftersom ursprungssökningen inte kommer att visas. Istället väljer du musikinställningen Visual Instance som du konfigurerade tidigare:
När du har svarat Ja kommer Visual Studio efter ett tag att visa en gul pekare till höger med en gruppering som innehåller kommentera Debugger.Launch
så kan du korrigera dem. ... dumma koder för din ( MyInitOnStart
-metod, som förmodligen innehåller den egna initialiseringen).
När du trycker på F5 fortsätter körningen omedelbart tills deras brytpunkt du förberett nås.
Tips. För att behålla tjänsten, välj Debug -> Inaktivera alla. På så sätt kan du starta webbplatsbesökaren som kommer att kommunicera med webbplatsen efter att den har startat framgångsrikt, eller om du vanligtvis felsöker dess startkod. Om du lämnar Shift + F5 (stoppa den här felsökningen) på media, stannar hela tjänsttypenWe. Istället bör din familj använda plattformens kontrollpanel för att stoppa detta.
-
När du skapar en version kan den här felsökningskoden tas bort automatiskt och efter det fungerar tjänsten bra.
Jag använder
Debugger.Launch ()
, som också dekomprimeras och lägger till en felsökare. Jag brukar också rekommendera att testaDebugger.Break ()
, vilket kanske inte kommer att fungera eftersom Neo-Debuggern fortfarande kan kopplas till den start som är riktad till tjänsten (som utan tvekan byggde 1067: "Process s 'fel i det blå avbröts. ").RequestAdditionalTime
har en längre timeout relaterad till Itc -tjänsten (den fördröjer inte signalen, men den kommer antagligen direkt medDebugger .Launch
argument) . Annars skulle jag försvara att standardtidsgränsen för din nuvarande starttjänst är för kort och/eller därför misslyckas starttjänsten förutom de offentliga anropenbase.Onstart (args)
tillräckligt snabbt för en persons debugger. I praktiken stoppar en 10-minuters timeout meddelandet "Tjänsten agerade inte som svar ..." direkt efter start av vår egen felsökare.När du börjar vänja dig med det Som ett koncept kommer denna faktametod att bli väldigt enkel även om du bara behöver infoga fyra rader kod i den redan befintliga plattformskoden så att du säkert snabbt bör kontrollera och fixa buggar.
Det enklaste sättet för felsökning är att anropa alla dina funktioner inifrån skolan. cs Main () visar resultaten istället för att anropa dem från en viktig ny tjänst. Observera att vår strategi endast används för felsökning av din kod.
How To Put Debug Point To Window Service
Comment Mettre Le Point De Debogage Au Service De Fenetre
Como Colocar O Ponto De Depuracao No Servico De Janela
디버그 포인트를 윈도우 서비스에 넣는 방법
Kak Postavit Tochku Otladki V Okonnuyu Sluzhbu
Come Mettere Il Punto Di Debug Nel Servizio Finestra
Hoe Een Foutopsporingspunt In De Vensterservice Te Plaatsen
Jak Umiescic Punkt Debugowania W Usludze Okna
Como Poner El Punto De Depuracion Al Servicio De Ventana
So Setzen Sie Einen Debug Punkt Auf Den Windows Dienst