Felsöka ditt Service Fabric-program med Visual Studio

Felsöka ett lokalt Service Fabric-program

Viktigt

Fjärrfelsökning stöds inte i VS 2022

Du kan spara tid och pengar genom att distribuera och felsöka ditt Azure Service Fabric-program i ett lokalt datorutvecklingskluster. Visual Studio 2019 eller 2015 kan distribuera programmet till det lokala klustret och automatiskt ansluta felsökningsprogrammet till alla instanser av ditt program. Visual Studio måste köras som administratör för att ansluta felsökningsprogrammet.

  1. Starta ett lokalt utvecklingskluster genom att följa stegen i Konfigurera Din Service Fabric-utvecklingsmiljö.

  2. Tryck på F5 eller klicka på Felsöka>Starta felsökning.

    Skärmbild som visar felsökningsmenyn.

  3. Ange brytpunkter i koden och gå igenom programmet genom att klicka på kommandon på felsökningsmenyn .

    Anteckning

    Visual Studio ansluter till alla instanser av ditt program. När du stegar igenom koden kan brytpunkter drabbas av flera processer som resulterar i samtidiga sessioner. Försök att inaktivera brytpunkterna när de har träffats, genom att göra varje brytpunkt villkorlig för tråd-ID:t eller med hjälp av diagnostiska händelser.

  4. Fönstret Diagnostikhändelser öppnas automatiskt så att du kan visa diagnostikhändelser i realtid.

    Visa diagnostikhändelser i realtid

  5. Du kan också öppna fönstret Diagnostikhändelser i Cloud Explorer. Under Service Fabric högerklickar du på valfri nod och väljer Visa direktuppspelningsspårningar.

    Öppna fönstret diagnostikhändelser

    Om du vill filtrera dina spårningar till en specifik tjänst eller ett visst program aktiverar du strömningsspårningar för den specifika tjänsten eller programmet.

  6. Diagnostikhändelserna kan visas i den automatiskt genererade Filen ServiceEventSource.cs och anropas från programkoden.

    ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
    
  7. Fönstret Diagnostikhändelser stöder filtrering, pausning och inspektion av händelser i realtid. Filtret är en enkel strängsökning av händelsemeddelandet, inklusive dess innehåll.

    Filtrera, pausa och återuppta eller inspektera händelser i realtid

  8. Felsökningstjänster fungerar som att felsöka andra program. Normalt ställer du in Brytpunkter via Visual Studio för enkel felsökning. Även om Reliable Collections replikeras över flera noder implementerar de fortfarande IEnumerable. Den här implementeringen innebär att du kan använda resultatvyn i Visual Studio medan du felsöker för att se vad du har lagrat i. Det gör du genom att ange en brytpunkt var som helst i koden.

    Börja felsöka ett program

Köra ett skript som en del av felsökningen

I vissa scenarier kan du behöva köra ett skript som en del av att starta en felsökningssession (t.ex. när du inte använder Standardtjänster).

I Visual Studio kan du lägga till en fil med namnet Start-Service.ps1 i mappen Skript i Service Fabric-programprojektet (.sfproj). Det här skriptet anropas när programmet har skapats i det lokala klustret.

Felsöka ett Service Fabric-fjärrprogram

Om dina Service Fabric-program körs på ett Service Fabric-kluster i Azure kan du fjärrfelsöka dessa program direkt från Visual Studio.

Anteckning

Funktionen kräver Service Fabric SDK 2.0 och Azure SDK för .NET 2.9.

Varning

Fjärrfelsökning är avsett för utvecklings-/testscenarier och ska inte användas i produktionsmiljöer på grund av påverkan på de program som körs.

  1. Gå till klustret i Cloud Explorer. Högerklicka och välj Aktivera felsökning

    Aktivera fjärrfelsökning

    Den här åtgärden startar processen med att aktivera fjärrfelsökningstillägget på klusternoderna och nödvändiga nätverkskonfigurationer.

  2. Högerklicka på klusternoden i Cloud Explorer och välj Bifoga felsökningsprogram

    Bifoga felsökningsprogram

  3. I dialogrutan Bifoga till process väljer du den process som du vill felsöka och klickar på Bifoga

    Välj process

    Namnet på den process som du vill koppla till är lika med namnet på ditt serviceprojekts sammansättningsnamn.

    Felsökningsprogrammet ansluter till alla noder som kör processen.

    • Om du felsöker en tillståndslös tjänst är alla instanser av tjänsten på alla noder en del av felsökningssessionen.

    • Om du felsöker en tillståndskänslig tjänst är endast den primära repliken av en partition aktiv och fångas därför upp av felsökaren. Om den primära repliken flyttas under felsökningssessionen är bearbetningen av repliken fortfarande en del av felsökningssessionen.

    • Om du bara vill fånga relevanta partitioner eller instanser av en viss tjänst kan du använda villkorliga brytpunkter för att bara bryta en viss partition eller instans.

      Villkorsstyrd brytpunkt

      Anteckning

      För närvarande stöder vi inte felsökning av ett Service Fabric-kluster med flera instanser av samma körbara tjänstnamn.

  4. När du är klar med felsökningen av programmet kan du inaktivera fjärrfelsökningstillägget genom att högerklicka på klustret i Cloud Explorer och välja Inaktivera felsökning

    Inaktivera fjärrfelsökning

Strömmande spårningar från en fjärrklusternod

Du kan också strömma spårningar direkt från en fjärrklusternod till Visual Studio. Med den här funktionen kan du strömma ETW-spårningshändelser som skapats på en Service Fabric-klusternod.

Anteckning

Den här funktionen kräver Service Fabric SDK 2.0 och Azure SDK för .NET 2.9. Den här funktionen stöder endast kluster som körs i Azure.

Varning

Direktuppspelningsspårningar är avsedda för utvecklings-/testscenarier och ska inte användas i produktionsmiljöer på grund av påverkan på de program som körs. I ett produktionsscenario bör du förlita dig på vidarebefordran av händelser med hjälp av Azure Diagnostics.

  1. Gå till klustret i Cloud Explorer. Högerklicka och välj Aktivera direktuppspelningsspårningar

    Aktivera fjärrströmningsspårningar

    Den här åtgärden startar processen med att aktivera tillägget för direktuppspelningsspårningar på klusternoderna, samt nödvändiga nätverkskonfigurationer.

  2. Expandera nodes-elementet i Cloud Explorer, högerklicka på noden som du vill strömma spårningar från och välj Visa direktuppspelningsspårningar

    Visa fjärrströmningsspårningar

    Upprepa steg 2 för så många noder som du vill se spårningar från. Varje nodström visas i ett dedikerat fönster.

    Nu kan du se spårningarna som genereras av Service Fabric och dina tjänster. Om du vill filtrera händelserna så att endast ett visst program visas skriver du bara namnet på programmet i filtret.

    Visa strömningsspårningar

  3. När du är klar med direktuppspelningsspårningar från klustret kan du inaktivera fjärrströmningsspårningar genom att högerklicka på klustret i Cloud Explorer och välja Inaktivera direktuppspelningsspårningar

    Inaktivera fjärrströmningsspårningar

Nästa steg