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

Poznámka:

Ladění snímků bylo zrušeno a nebude již dostupné v nejnovějších verzích sady Visual Studio 2022 a všech novějších verzích. I když neexistuje žádná přesná náhrada, existují další nástroje, které můžou poskytovat užitečnou diagnostiku:

Snapshot Debugger pořídí snímek vašich aplikací v produkci, když se spustí kód, který vás zajímá. Chcete-li ladicímu programu dát pokyn, aby pořídil snímek, nastavte v kódu snímkové body a protokolovací body. Debugger vám umožní přesně zjistit, co se nepovedlo, bez dopadu na provoz vaší 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í bodu přichycení a zobrazení snímku
  • Nastavení logpointu

Požadavky

  • Snapshot Debugger pro Azure Virtual Machines a sady Azure Virtual Machine Scale Sets je k dispozici pouze pro Visual Studio 2019 Enterprise nebo novější s nainstalovanou úlohou vývoje pro Azure. (Na kartě Jednotlivé komponenty ji najdete v části Ladění a testování>.Snapshot debugger.)

    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 aplikace běží na .NET Framework 4.6.1 nebo novějším.
    • Aplikace ASP.NET Core provozované na .NET Core 2.0 nebo novějších na 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 pomocí snímku.

    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 nebo škálovací sadu virtuálních počítačů, na kterou je vaše webová aplikace nasazena, a účet Azure Storage, a potom klikněte na Připojit. Snapshot Debugger také podporuje Azure Kubernetes Service a Azure App Service.

    Spusťte snapshotový ladicí program z nabídky Ladění

    Výběr prostředku Azure

    Důležité

    Při prvním výběru Připojit Snapshot Debugger pro váš 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čů je třeba ručně upgradovat každou instanci těchto sad.

    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 nyní v režimu ladění snímků.

    Režim ladění snímků

    Poznámka:

    U VMSS musí uživatel po prvním připojení nástroje Snapshot Debugger provést ruční upgrade instancí ve svých sadách škálování virtuálních počítačů.

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

    Zkontrolujte okno modulů

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

    Nastavte přichycení

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

    Zapněte přichytávací bod

    Návod

    Při prohlížení snímku nemůžete krokovat, ale do kódu můžete umístit několik záchytných bodů, abyste mohli sledovat provádění na různých řádcích kódu. Pokud máte v kódu více snappointů, nástroj Snapshot Debugger zajistí, že odpovídající snímky pocházejí 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 Debug > Windows > Zobrazit diagnostické nástroje.

    Otevření snappointu

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

    Prohlédnout data snímku

    V tomto zobrazení můžete najet myší na proměnné a zobrazit nápovědy k datům, použít okna Místní hodnoty, Sledování proměnných a Zásobník volání a také vyhodnocovat výrazy.

    Samotný web je stále aktivní a koncoví uživatelé nejsou ovlivněni. Ve výchozím nastavení je na každý snappoint zachycen pouze jeden snímek: po zachycení snímku se snappoint vypne. Pokud chcete zachytit další snímek v bodě snímání, můžete jej 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? Podívejte se na stránky Řešení potíží a známé problémy a Nejčastější dotazy k ladění snímků.

Nastavte podmíněný bod přichycení

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

Vytvořit podmíněný snappoint

  1. Klikněte pravým tlačítkem myši na ikonu přichycení (dutá sféra) a zvolte Nastavení.

    Zvolte Nastavení.

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

    Zadejte výraz.

    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, když je dosaženo snappointu, můžete také nakonfigurovat snappoint pro zalogování zprávy (to znamená vytvořit logpoint). Můžete nastavit protokolovací body, aniž byste museli aplikaci znovu nasadit. Protokolovací body se spouští virtuálně a nemají žádný dopad ani vedlejší účinky na vaši běžící aplikaci.

Vytvoření záznamového bodu

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

  2. V okně nastavení snappointu vyberte Akce.

    Vytvoření logpointu

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

    Pokud zvolíte možnost Odeslat do výstupního okna, zpráva se zobrazí v okně Diagnostické nástroje, když je spuštěn záznamový bod.

    Data logpointu v okně Diagnostické nástroje

    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 z System.Diagnostics.Trace (nebo ILogger v .NET Core), jako je App Insights.

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.