Sdílet prostřednictvím


Ladění živých ASP.NET aplikací na virtuálních počítačích Azure a škálovacích sadách virtuálních počítačů Azure pomocí nástroje Snapshot Debugger

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 pro Azure Virtual Machines a Azure Virtual Machine Scale Sets je k dispozici pouze pro Visual Studio 2019 Enterprise 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 Enterprise.

  • Kolekce snímků je dostupná pro následující webové aplikace Azure Virtual Machines\Virtual Machine Scale Sets:

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

    Poznámka:

    Visual Studio Enterprise běžící na 32bitové verzi Windows nebude moct zobrazit snímky.

Otevřete projekt a spusťte Snapshot Debugger.

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

    Důležité

    Pokud chcete provést ladění snímků, musíte otevřít stejnou verzi zdrojového kódu , která je publikovaná ve službě Azure Virtual Machine\Virtual Machine Scale Set.

  2. Zvolte Debug > Attach Snapshot Debugger.... Vyberte virtuální počítač Azure \ Škálovací sada virtuálních počítačů, do které se vaše webová aplikace nasadí, a účet úložiště Azure a potom klikněte na Připojit. Snapshot Debugger podporuje také službu Azure Kubernetes Service a Aplikace Azure Service.

    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 pro virtuální počítač se služba IIS automaticky restartuje. Při prvním výběru nástroje Attach Snapshot Debugger pro škálovací sady virtuálních počítačů vyžaduje ruční upgrade každé instance škálovacích sad virtuálních počítačů.

    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.

    Metadata modulů se na začátku neaktivují, přejděte do webové aplikace a tlačítko Spustit kolekci se aktivuje. Visual Studio je teď v režimu ladění snímků.

    Snapshot debugging mode

    Poznámka:

    U VMSS je uživatel po prvním připojení snapshot Debuggeru nutný k ručnímu upgradu instancí ve službě Virtual Machine Scale Sets.

    V okně Moduly se zobrazí, kdy se všechny moduly načetly pro azure Virtual Machine\Virtual Machine Scale Set (výběrem možnosti Ladit > moduly 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 virtuální počítače Azure a škálovací sady virtuálních počítačů Azure. Možná si budete chtít přečíst další podrobnosti o této funkci.