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.

  1. Spusťte místní vývojový cluster podle kroků v tématu Nastavení vývojového prostředí Service Fabric.

  2. Stiskněte klávesu F5 nebo klikněte na Spustit ladění.>

    Snímek obrazovky s nabídkou Ladění

  3. 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.

  4. Automaticky se otevře okno Diagnostické události , abyste mohli zobrazit diagnostické události v reálném čase.

    Zobrazení diagnostických událostí v reálném čase

  5. 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í.

    Otevření okna diagnostických událostí

    Pokud chcete trasování filtrovat podle konkrétní služby nebo aplikace, povolte trasování streamování pro danou službu nebo aplikaci.

  6. 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());
    
  7. 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.

    Filtrování, pozastavení a obnovení nebo kontrola událostí v reálném čase

  8. 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í ladění aplikace

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.

  1. V Průzkumníku cloudu přejděte do clusteru. Klikněte pravým tlačítkem a zvolte Povolit ladění.

    Povolení vzdáleného 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ě.

  2. V Průzkumníku cloudu klikněte pravým tlačítkem na uzel clusteru a zvolte Připojit ladicí program.

    Připojit ladicí program

  3. V dialogovém okně Připojit k procesu zvolte proces, který chcete ladit, a klikněte na Připojit.

    Zvolit proces

    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.

      Podmíněná zarážka

      Poznámka

      V současné době nepodporujeme ladění clusteru Service Fabric s více instancemi stejného spustitelného názvu služby.

  4. 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í.

    Zakázání vzdáleného 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.

  1. V Průzkumníku cloudu přejděte do clusteru. Klikněte pravým tlačítkem a zvolte Povolit trasování streamování.

    Povolení trasování vzdáleného streamování

    Tato akce zahájí proces povolení rozšíření trasování streamování na uzlech clusteru a také požadované konfigurace sítě.

  2. 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í.

    Zobrazení trasování vzdáleného 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.

    Zobrazení trasování streamování

  3. 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í.

    Zakázání trasování vzdáleného streamování

Další kroky