Ladění živých aplikací ASP.NET v Azure pomocí Snapshot Debuggeru

Snapshot Debugger pořídí snímek vašich v produkčních aplikacích, když se spustí kód, který vás zajímá. Pokud chcete ladicímu programu dát pokyn, aby pořídil snímek, nastavte v kódu snímky a protokolovací body. Ladicí program vám umožní přesně zjistit, co se nepovedlo, aniž by to mělo vliv na provoz produkční aplikace. Snapshot Debugger vám může pomoct výrazně zkrátit dobu potřebnou k vyřešení problémů, ke kterým dochází v produkčních prostředích.

Snímkovací a protokolovací body jsou podobné zarážkám, ale na rozdíl od zarážek jejich dosažení nezpůsobí zastavení aplikace. Zachycení snímku na snappointu obvykle trvá 10 až 20 milisekund.

V tomto kurzu:

  • Spuštění ladicího programu snapshot
  • Nastavení přichycení a zobrazení snímku
  • Nastavení logpointu

Požadavky

  • Snapshot Debugger je k dispozici pouze od sady Visual Studio 2017 Enterprise verze 15.5 nebo vyšší s úlohou vývoje pro Azure. (Pod položkou Jednotlivé komponenty najdete v části Ladění a testování>ladicího programu Snapshot.)

    Pokud ještě není nainstalovaný, nainstalujte Visual Studio 2019. Pokud aktualizujete z předchozí instalace sady Visual Studio, spusťte Instalační program pro Visual Studio a zkontrolujte komponentu Snapshot Debugger v úloze vývoje ASP.NET a webu.

  • Plán služby Basic nebo vyšší Aplikace Azure.

  • Kolekce snímků je dostupná pro následující webové aplikace spuštěné ve službě Aplikace Azure Service:

    • ASP.NET aplikací spuštěných v rozhraní .NET Framework 4.6.1 nebo novějším.
    • ASP.NET aplikace Core spuštěné v .NET Core 2.0 nebo novějších ve Windows.

Otevřete projekt a spusťte Snapshot Debugger.

  1. Otevřete projekt, který chcete ladit snímky.

    Důležité

    K ladění snímků musíte otevřít stejnou verzi zdrojového kódu, která je publikovaná ve službě Aplikace Azure Service.

  2. Zvolte Debug > Attach Snapshot Debugger.... Vyberte Aplikace Azure Služba, do které se projekt nasadí, a účet úložiště Azure a potom klikněte na Připojit. Snapshot Debugger podporuje také službu Azure Kubernetes Service a Azure Virtual Machines a škálovací sady virtuálních počítačů.

    Launch the snapshot debugger from the Debug menu

    Select Azure Resource

    Důležité

    Při prvním výběru možnosti Připojit snapshot Debugger se zobrazí výzva k instalaci rozšíření webu Snapshot Debugger do služby Aplikace Azure Service. Tato instalace vyžaduje restartování služby Aplikace Azure Service.

    Poznámka:

    (Visual Studio 2019 verze 16.2 a novější) Snapshot Debugger povolil podporu cloudu Azure. Ujistěte se, že prostředky Azure i účet Azure Storage, které vyberete, jsou ze stejného cloudu. Pokud máte dotazy týkající se konfigurací dodržování předpisů Azure vašeho podniku, obraťte se na správce Azure.

    Visual Studio je teď v režimu ladění snímků. Snapshot debugging mode

    V okně Moduly se zobrazí, kdy se všechny moduly načetly pro službu Aplikace Azure Service (výběrem možnosti Ladit > moduly systému Windows > otevřete toto okno).

    Check the Modules window

Nastavení přichycení

  1. V editoru kódu klikněte na levý hřbet vedle řádku kódu, který vás zajímá, abyste nastavili snappoint. Ujistěte se, že se jedná o kód, o který víte, že se spustí.

    Set a snappoint

  2. Kliknutím na Spustit kolekci zapněte snappoint.

    Turn on the snappoint

    Tip

    Při prohlížení snímku nemůžete krokovat, ale do kódu můžete umístit několik přichycených bodů, abyste mohli sledovat provádění na různých řádcích kódu. Pokud máte v kódu více bodů snappointů, nástroj Snapshot Debugger zajistí, aby odpovídající snímky byly ze stejné relace koncového uživatele. Snapshot Debugger to dělá i v případě, že na vaši aplikaci narazilo mnoho uživatelů.

Pořízení snímku

Po nastavení přichycení můžete buď ručně vygenerovat snímek, a to tak, že přejdete do zobrazení prohlížeče vašeho webu a spustíte řádek kódu označeného nebo počkáte, až uživatelé vygenerují snímek ze svého používání webu.

Kontrola dat snímku

  1. Po dosažení bodu snappointu se snímek zobrazí v okně Diagnostické nástroje. Chcete-li toto okno otevřít, zvolte Ladit > nástroje > windows Zobrazit diagnostické nástroje.

    Open a snappoint

  2. Poklikáním na bod snappoint otevřete snímek v editoru kódu.

    Inspect snapshot data

    V tomto zobrazení můžete najet myší na proměnné a zobrazit data Tipy, použít okna Místní hodnoty, Kukátky a Zásobník volání a také vyhodnotit výrazy.

    Samotný web je stále aktivní a koncoví uživatelé nejsou ovlivněni. Ve výchozím nastavení se zachytí jenom jeden snímek na bod snappointu: po zachycení snímku se bod snappoint vypne. Pokud chcete zachytit další snímek na snappointu, můžete ho znovu zapnout kliknutím na Aktualizovat kolekci.

Do aplikace můžete také přidat další snappointy a zapnout je tlačítkem Aktualizovat kolekci.

Potřebujete pomoc? Stránky ladění snímků najdete v tématu Řešení potíží a známé problémy a nejčastější dotazy.

Nastavení podmíněného bodu snappointu

Pokud je obtížné znovu vytvořit konkrétní stav v aplikaci, zvažte použití podmíněného přichycení. Podmíněné přichycení pomáhají řídit, kdy pořídit snímek, například když proměnná obsahuje konkrétní hodnotu, kterou chcete zkontrolovat. Podmínky můžete nastavit pomocí výrazů, filtrů nebo počtu přístupů.

Vytvoření podmíněného bodu snappointu

  1. Klikněte pravým tlačítkem myši na ikonu zachytávání (duté koule) a zvolte Nastavení.

    Choose Settings

  2. V okně nastavení snappointu zadejte výraz.

    Type an expression

    Na předchozím obrázku se snímek pořídí pouze pro bod visitor.FirstName == "Dan"přichycení.

Nastavení logpointu

Kromě pořízení snímku při dosažení přichycení bodu snap-point můžete také nakonfigurovat snappoint pro protokolování zprávy (to znamená vytvořit protokolový bod). Můžete nastavit protokolovací body, aniž byste museli aplikaci znovu nasadit. Protokolovací body se spouští virtuálně a nezpůsobují žádný dopad nebo vedlejší účinky spuštěné aplikace.

Vytvoření protokolu

  1. Klikněte pravým tlačítkem myši na ikonu zachytávání (modrý šestiúhelník) a zvolte Nastavení.

  2. V okně nastavení snappointu vyberte Akce.

    Create a logpoint

  3. Do pole Zpráva můžete zadat novou zprávu protokolu, kterou chcete protokolovat. Proměnné ve zprávě protokolu můžete také vyhodnotit tak, že je umístíte do složených závorek.

    Pokud zvolíte okno Odeslat do výstupu, zobrazí se zpráva v okně Diagnostické nástroje.

    Logpoint data in the Diagnostic Tools window

    Pokud zvolíte možnost Odeslat do protokolu aplikace, zobrazí se při dosažení bodu protokolu zpráva kdekoli, kde uvidíte zprávy (System.Diagnostics.Tracenebo ILogger v .NET Core), jako je Přehledy aplikace.

V tomto kurzu jste se naučili používat Snapshot Debugger pro App Services. Možná si budete chtít přečíst další podrobnosti o této funkci.