Foutopsporing uitvoeren in uw Service Fabric-toepassing met behulp van Visual Studio
Fouten opsporen in een lokale Service Fabric-toepassing
Belangrijk
Externe foutopsporing wordt niet ondersteund op VS 2022
U kunt tijd en geld besparen door uw Azure Service Fabric-toepassing te implementeren en fouten op te sporen in een lokaal computerontwikkelingscluster. Visual Studio 2019 of 2015 kan de toepassing implementeren in het lokale cluster en het foutopsporingsprogramma automatisch verbinden met alle exemplaren van uw toepassing. Visual Studio moet worden uitgevoerd als administrator om verbinding te maken met het foutopsporingsprogramma.
Start een lokaal ontwikkelcluster door de stappen te volgen in het instellen van uw Service Fabric-ontwikkelomgeving.
Druk op F5 of klik op Foutopsporing> starten.
Stel onderbrekingspunten in uw code in en doorloop de toepassing door te klikken op opdrachten in het menu Foutopsporing .
Notitie
Visual Studio wordt gekoppeld aan alle exemplaren van uw toepassing. Terwijl u code doorloopt, kunnen onderbrekingspunten worden bereikt door meerdere processen, wat resulteert in gelijktijdige sessies. Probeer de onderbrekingspunten uit te schakelen nadat ze zijn geraakt, door elk onderbrekingspunt voorwaardelijk te maken voor de thread-id of door diagnostische gebeurtenissen te gebruiken.
Het venster Diagnostische gebeurtenissen wordt automatisch geopend, zodat u diagnostische gebeurtenissen in realtime kunt bekijken.
U kunt ook het venster Diagnostische gebeurtenissen openen in Cloud Explorer. Klik onder Service Fabric met de rechtermuisknop op een knooppunt en kies Streamingtraceringen weergeven.
Als u uw traceringen wilt filteren op een specifieke service of toepassing, schakelt u streamingtraceringen in voor die specifieke service of toepassing.
De diagnostische gebeurtenissen kunnen worden weergegeven in het automatisch gegenereerde ServiceEventSource.cs-bestand en worden aangeroepen vanuit toepassingscode.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
Het venster Diagnostische gebeurtenissen ondersteunt het in realtime filteren, onderbreken en inspecteren van gebeurtenissen. Het filter is een eenvoudige tekenreekszoekopdracht van het gebeurtenisbericht, inclusief de inhoud.
Foutopsporingsservices zijn net als het opsporen van fouten in andere toepassingen. Normaal gesproken stelt u onderbrekingspunten in via Visual Studio voor eenvoudige foutopsporing. Hoewel Reliable Collections repliceert over meerdere knooppunten, implementeren ze nog steeds IEnumerable. Deze implementatie betekent dat u de resultatenweergave in Visual Studio kunt gebruiken terwijl u fouten opssport om te zien wat u hebt opgeslagen. Hiervoor stelt u een onderbrekingspunt in waar uw code zich bevindt.
Een script uitvoeren als onderdeel van foutopsporing
In bepaalde scenario's moet u mogelijk een script uitvoeren als onderdeel van het starten van een foutopsporingssessie (bijvoorbeeld wanneer u geen standaardservices gebruikt).
In Visual Studio kunt u een bestand met de naam Start-Service.ps1 toevoegen in de map Scripts van het Service Fabric-toepassingsproject (.sfproj). Dit script wordt aangeroepen nadat de toepassing is gemaakt in het lokale cluster.
Fouten opsporen in een externe Service Fabric-toepassing
Als uw Service Fabric-toepassingen worden uitgevoerd op een Service Fabric-cluster in Azure, kunt u op afstand fouten opsporen in deze toepassingen, rechtstreeks vanuit Visual Studio.
Notitie
De functie vereist Service Fabric SDK 2.0 en Azure SDK voor .NET 2.9.
Waarschuwing
Externe foutopsporing is bedoeld voor ontwikkel-/testscenario's en moet niet worden gebruikt in productieomgevingen, vanwege de impact op de actieve toepassingen.
Navigeer naar uw cluster in Cloud Explorer. Klik met de rechtermuisknop en kies Foutopsporing inschakelen
Met deze actie wordt het proces gestart voor het inschakelen van de extensie voor externe foutopsporing op uw clusterknooppunten en vereiste netwerkconfiguraties.
Klik met de rechtermuisknop op het clusterknooppunt in Cloud Explorer en kies Foutopsporingsprogramma bijvoegen
Kies in het dialoogvenster Bijvoegen aan proces het proces dat u wilt opsporen en klik op Bijvoegen
De naam van het proces waaraan u wilt koppelen, is gelijk aan de naam van de assemblynaam van uw serviceproject.
Het foutopsporingsprogramma wordt gekoppeld aan alle knooppunten waarop het proces wordt uitgevoerd.
In het geval dat u fouten in een staatloze service opspoort, maken alle exemplaren van de service op alle knooppunten deel uit van de foutopsporingssessie.
Als u fouten in een stateful service opspoort, is alleen de primaire replica van een partitie actief en wordt daarom gedetecteerd door het foutopsporingsprogramma. Als de primaire replica tijdens de foutopsporingssessie wordt verplaatst, maakt de verwerking van die replica nog steeds deel uit van de foutopsporingssessie.
Als u alleen relevante partities of exemplaren van een bepaalde service wilt ondervangen, kunt u voorwaardelijke onderbrekingspunten gebruiken om alleen een specifieke partitie of instantie te verbreken.
Notitie
Op dit moment bieden we geen ondersteuning voor foutopsporing van een Service Fabric-cluster met meerdere exemplaren van dezelfde uitvoerbare servicenaam.
Zodra u klaar bent met het opsporen van fouten in uw toepassing, kunt u de extensie voor externe foutopsporing uitschakelen door met de rechtermuisknop op het cluster in Cloud Explorer te klikken en Foutopsporing uitschakelen te kiezen
Traceringen streamen vanaf een extern clusterknooppunt
U kunt ook traceringen rechtstreeks vanuit een extern clusterknooppunt streamen naar Visual Studio. Met deze functie kunt u ETW-traceringsevenementen streamen die zijn geproduceerd op een Service Fabric-clusterknooppunt.
Notitie
Voor deze functie zijn Service Fabric SDK 2.0 en Azure SDK voor .NET 2.9 vereist. Deze functie ondersteunt alleen clusters die worden uitgevoerd in Azure.
Waarschuwing
Streamingtraceringen zijn bedoeld voor ontwikkel-/testscenario's en moeten niet worden gebruikt in productieomgevingen, vanwege de impact op de actieve toepassingen. In een productiescenario moet u afhankelijk zijn van het doorsturen van gebeurtenissen met behulp van Azure Diagnostics.
Navigeer naar uw cluster in Cloud Explorer. Klik met de rechtermuisknop en kies Streamingtraceringen inschakelen
Met deze actie wordt het proces voor het inschakelen van de extensie voor streamingtraceringen op uw clusterknooppunten gestart, evenals vereiste netwerkconfiguraties.
Vouw het element Knooppunten uit in Cloud Explorer, klik met de rechtermuisknop op het knooppunt waaruit u traceringen wilt streamen en kies Streamingtraceringen weergeven
Herhaal stap 2 voor zoveel knooppunten als waaruit u traceringen wilt zien. Elke knooppuntstroom wordt weergegeven in een toegewezen venster.
U kunt nu de traceringen zien die worden verzonden door Service Fabric en uw services. Als u de gebeurtenissen wilt filteren om alleen een specifieke toepassing weer te geven, typt u gewoon de naam van de toepassing in het filter.
Zodra u klaar bent met streamingtraceringen van uw cluster, kunt u externe streamingtraceringen uitschakelen door met de rechtermuisknop op het cluster in Cloud Explorer te klikken en streamingtraceringen uitschakelen te kiezen