Ladění aplikace Service Fabric pomocí Visual Studia
Ladění místní aplikace Service Fabric
Důležité
VS 2022 nepodporuje vzdálené ladění.
Nasazením a laděním aplikace Azure Service Fabric v místním počítačovém vývojovém clusteru můžete ušetřit čas a peníze. Visual Studio 2019 nebo 2015 může nasadit aplikaci do místního clusteru a automaticky připojit ladicí program ke všem instancím vaší aplikace. Aby bylo možné připojit ladicí program, musí být sada Visual Studio spuštěná jako správce.
Spusťte místní vývojový cluster podle kroků v tématu Nastavení vývojového prostředí Service Fabric.
Stiskněte klávesu F5 nebo klikněte na Spustit ladění.>
Nastavte v kódu zarážky a procházejte aplikaci kliknutím na příkazy v nabídce Ladit .
Poznámka
Visual Studio se připojí ke všem instancím vaší aplikace. Když procházíte kódem, zarážky můžou být zasaženy několika procesy, což vede k souběžným relacím. Zkuste zakázat zarážky po jejich dosažení tím, že každou zarážku podmíníte id vlákna nebo použijete diagnostické události.
Automaticky se otevře okno Diagnostické události , abyste mohli zobrazit diagnostické události v reálném čase.
V Průzkumníku cloudu můžete také otevřít okno Diagnostické události . V části Service Fabric klikněte pravým tlačítkem na libovolný uzel a zvolte Zobrazit trasování streamování.
Pokud chcete trasování filtrovat podle konkrétní služby nebo aplikace, povolte trasování streamování pro danou službu nebo aplikaci.
Diagnostické události lze zobrazit v automaticky vygenerovaném souboru ServiceEventSource.cs a jsou volána z kódu aplikace.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
Okno Diagnostické události podporuje filtrování, pozastavení a kontrolu událostí v reálném čase. Filtr je jednoduché řetězcové vyhledávání zprávy události, včetně jejího obsahu.
Ladicí služby jsou podobné ladění jakékoli jiné aplikace. Zarážky obvykle nastavíte prostřednictvím sady Visual Studio pro snadné ladění. I když se spolehlivé kolekce replikují napříč několika uzly, stále implementují IEnumerable. Tato implementace znamená, že můžete při ladění použít zobrazení výsledků v sadě Visual Studio, abyste viděli, co jste uložili. Uděláte to tak, že nastavíte zarážku kdekoli v kódu.
Spuštění skriptu v rámci ladění
V některých scénářích může být nutné spustit skript jako součást spuštění relace ladění (např. pokud nepoužíváte výchozí služby).
V sadě Visual Studio můžete do složky Scripts projektu Service Fabric Application (.sfproj) přidat soubor s názvem Start-Service.ps1. Tento skript se vyvolá po vytvoření aplikace v místním clusteru.
Ladění vzdálené aplikace Service Fabric
Pokud vaše aplikace Service Fabric běží v clusteru Service Fabric v Azure, můžete je vzdáleně ladit přímo ze sady Visual Studio.
Poznámka
Tato funkce vyžaduje Sadu Service Fabric SDK 2.0 a Sadu Azure SDK pro .NET 2.9.
Upozornění
Vzdálené ladění je určené pro scénáře vývoje/testování a nepoužívá se v produkčních prostředích, protože to má vliv na spuštěné aplikace.
V Průzkumníku cloudu přejděte do clusteru. Klikněte pravým tlačítkem a zvolte Povolit ladění.
Tato akce zahájí proces povolení rozšíření vzdáleného ladění na uzlech clusteru a požadovaných konfiguracích sítě.
V Průzkumníku cloudu klikněte pravým tlačítkem na uzel clusteru a zvolte Připojit ladicí program.
V dialogovém okně Připojit k procesu zvolte proces, který chcete ladit, a klikněte na Připojit.
Název procesu, ke který chcete připojit, se rovná názvu sestavení projektu služby.
Ladicí program se připojí ke všem uzlům, na kterých proces běží.
V případě, že ladíte bezstavovou službu, jsou všechny instance služby na všech uzlech součástí ladicí relace.
Pokud ladíte stavovou službu, bude aktivní jenom primární replika libovolného oddílu, a proto ladicí program zachytí. Pokud se primární replika přesune během relace ladění, bude zpracování této repliky stále součástí ladicí relace.
Pokud chcete zachytit jenom relevantní oddíly nebo instance dané služby, můžete pomocí podmíněných zarážek přerušit jenom konkrétní oddíl nebo instanci.
Poznámka
V současné době nepodporujeme ladění clusteru Service Fabric s více instancemi stejného spustitelného názvu služby.
Po dokončení ladění aplikace můžete rozšíření vzdáleného ladění zakázat tak, že kliknete pravým tlačítkem na cluster v Průzkumníku cloudu a zvolíte Zakázat ladění.
Streamování trasování ze vzdáleného uzlu clusteru
Trasování můžete také streamovat přímo ze vzdáleného uzlu clusteru do sady Visual Studio. Tato funkce umožňuje streamovat události trasování Událostí pro windows vytvořené na uzlu clusteru Service Fabric.
Poznámka
Tato funkce vyžaduje Sadu Service Fabric SDK 2.0 a Sadu Azure SDK pro .NET 2.9. Tato funkce podporuje jenom clustery spuštěné v Azure.
Upozornění
Trasování streamování je určeno pro scénáře vývoje/testování a nepoužívá se v produkčních prostředích, protože to má dopad na spuštěné aplikace. V produkčním scénáři byste měli spoléhat na předávání událostí pomocí Azure Diagnostics.
V Průzkumníku cloudu přejděte do clusteru. Klikněte pravým tlačítkem a zvolte Povolit trasování streamování.
Tato akce zahájí proces povolení rozšíření trasování streamování na uzlech clusteru a také požadované konfigurace sítě.
Rozbalte prvek Nodes v Průzkumníku cloudu, klikněte pravým tlačítkem na uzel, ze kterého chcete streamovat trasování, a zvolte Zobrazit trasování streamování.
Opakujte krok 2 pro tolik uzlů, z kolika chcete vidět trasování. Každý datový proud uzlů se zobrazí ve vyhrazeném okně.
Teď můžete zobrazit trasování vygenerované Service Fabricem a vašimi službami. Pokud chcete filtrovat události tak, aby zobrazovaly jenom konkrétní aplikaci, jednoduše do filtru zadejte název aplikace.
Jakmile dokončíte streamování trasování z clusteru, můžete vzdálená trasování streamování zakázat kliknutím pravým tlačítkem na cluster v Průzkumníku cloudu a zvolením možnosti Zakázat trasování streamování.