Řešení potíží s aplikací v Azure App Service pomocí Visual Studio

Přehled

Tento kurz ukazuje, jak pomocí nástrojů Visual Studio ladit aplikaci v App Service , pomocí vzdáleného spuštění v režimu ladění nebo zobrazením aplikačních protokolů a protokolů webového serveru.

Naučíte se:

  • Které funkce správy aplikací jsou k dispozici v Visual Studio.
  • Jak používat Visual Studio zobrazení k rychlým změnám ve vzdálené aplikaci.
  • Jak spustit režim ladění vzdáleně, když je projekt spuštěný v Azure, a to jak pro aplikaci, tak pro webovou úlohu.
  • Jak vytvořit protokoly trasování aplikace a zobrazit je, zatímco je aplikace vytváří.
  • Jak zobrazit protokoly webového serveru, včetně podrobných chybových zpráv a trasování neúspěšných požadavků.
  • Postup odeslání diagnostických protokolů do Azure Storage účtu a jejich zobrazení.

Pokud máte Visual Studio Ultimate, můžete k ladění použít také IntelliTrace. IntelliTrace se v tomto kurzu nezamezen.

Požadavky

Tento kurz funguje s vývojovým prostředím, webovým projektem a App Service aplikací, které jste nastavili v tématu Vytvoření ASP.NET aplikace v Azure App Service. V částech WebJobs budete potřebovat aplikaci, kterou vytvoříte v Začínáme pomocí Azure WebJobs SDK.

Ukázky kódu uvedené v tomto kurzu jsou pro webovou aplikaci C# MVC, ale postupy řešení potíží jsou stejné pro Visual Basic a Web Forms aplikace.

Kurz předpokládá, že používáte Visual Studio 2019.

Funkce streamování protokolů funguje jenom pro aplikace, které jsou .NET Framework 4 nebo novější.

Konfigurace a správa aplikací

Visual Studio poskytuje přístup k podmnožině funkcí správy aplikací a nastavení konfigurace, které jsou k dispozici v Azure Portal. V této části uvidíte, co je k dispozici pomocí Průzkumník serveru. Pokud chcete zobrazit nejnovější funkce integrace Azure, vyzkoušejte také Průzkumník cloudu. Obě okna můžete otevřít v nabídce Zobrazení.

  1. Pokud ještě nejste přihlášení k Azure ve službě Visual Studio, klikněte pravým tlačítkem na Azure a vyberte Připojení Microsoft Azure Předplatné v Průzkumník serveru.

    Alternativou je instalace certifikátu pro správu, který umožňuje přístup k vašemu účtu. Pokud se rozhodnete nainstalovat certifikát, klikněte pravým tlačítkem na uzel Azure v Průzkumník serveru a pak v místní nabídce vyberte Spravovat a filtrovat předplatná. V dialogovém okně Microsoft Azure předplatná klikněte na kartu Certifikáty a pak klikněte na Importovat. Postupujte podle pokynů ke stažení a importu souboru předplatného (nazývaného také soubor .publishsettings) pro váš účet Azure.

    Poznámka

    Pokud si stáhnete soubor předplatného, uložte ho do složky mimo adresáře zdrojového kódu (například ve složce Stažené soubory) a po dokončení importu ho odstraňte. Uživatel se zlými úmysly, který získá přístup k souboru předplatného, může upravovat, vytvářet a odstraňovat služby Azure.

    Další informace o připojení k prostředkům Azure z Visual Studio najdete v tématu Přiřazení rolí Azure pomocí Azure Portal.

  2. V Průzkumník serveru rozbalte Azure a rozbalte App Service.

  3. Rozbalte skupinu prostředků, která obsahuje aplikaci, kterou jste vytvořili v části Vytvoření aplikace ASP.NETv Azure App Service , klikněte pravým tlačítkem na uzel aplikace a klikněte na Zobrazit Nastavení.

    Zobrazení Nastavení v Průzkumník serveru

    Zobrazí se karta Webová aplikace Azure, kde vidíte úlohy správy a konfigurace aplikací, které jsou k dispozici v Visual Studio.

    Okno Webová aplikace Azure

    V tomto kurzu použijete rozevírací seznam pro protokolování a trasování. Použijete také vzdálené ladění, ale k jeho povolení použijete jinou metodu.

    Informace o polích App Nastavení a Připojovací řetězce v tomto okně najdete v Azure App Service: Jak fungují řetězce aplikací a připojovací řetězce.

    Pokud chcete provést úlohu správy aplikací, kterou v tomto okně nelze provést, kliknutím na Otevřít v Portál pro správu otevřete okno prohlížeče pro Azure Portal.

Přístup k souborům aplikace v Průzkumník serveru

Obvykle nasazujete webový projekt s příznakem v souboru Web.config nastaveným na nebo , což znamená, že se vám v případě, že se něco customErrors On RemoteOnly nepokazí, zobrazí užitečná chybová zpráva. U mnoha chyb se zobrazí jen stránka podobná jedné z následujících:

Chyba serveru v aplikaci /:

Snímek obrazovky zobrazující chybu serveru v aplikaci /ve webovém prohlížeči

Došlo k chybě:

Snímek obrazovky s příkladem obecné chyby, ke které dochází ve webovém prohlížeči

Web nemůže zobrazit stránku.

Snímek obrazovky se zprávou **Web nemůže zobrazit chybu stránky ve webovém prohlížeči**.

Často nejjednodušším způsobem, jak zjistit příčinu chyby, je povolit podrobné chybové zprávy. První z předchozích snímků obrazovky vysvětluje, jak to udělat. To vyžaduje změnu v nasazené Web.config souboru. Můžete upravit soubor Web.config v projektu a znovu nasadit projekt nebo vytvořit Web.config transformaci a nasadit sestavení pro ladění, ale existuje rychlejší způsob: v Průzkumník řešení můžete přímo zobrazit a upravovat soubory ve vzdálené aplikaci pomocí funkce vzdáleného zobrazení.

  1. V Průzkumník serveru rozbalte Azure, rozbalte App Service, rozbalte skupinu prostředků, ve které se vaše aplikace nachází, a pak rozbalte uzel pro vaši aplikaci.

    Zobrazí se uzly, které vám poskytují přístup k souborům obsahu a souborům protokolu aplikace.

  2. Rozbalte uzel Soubory a poklikejte na Web.config souboru.

    Otevřete Web.config

    Visual Studio otevře Web.config ze vzdálené aplikace a v záhlaví se vedle názvu souboru zobrazí [Remote].

  3. Do elementu přidejte system.web následující řádek:

    <customErrors mode="Off"></customErrors>

    Upravit Web.config

  4. Aktualizujte prohlížeč, který zobrazuje neužitenou chybovou zprávu, a teď se zobrazí podrobná chybová zpráva, například v následujícím příkladu:

    Podrobná chybová zpráva

    (Zobrazená chyba byla vytvořena přidáním řádku zobrazeného červeně do složky Views\Home\Index.cshtml.)

Úprava souboru Web.config je pouze jedním z příkladů scénářů, ve kterých schopnost číst a upravovat soubory ve vaší App Service aplikaci usnadňuje řešení potíží.

Vzdálené ladění aplikací

Pokud podrobná chybová zpráva neposkytuje dostatek informací a chybu nemůžete znovu vytvořit místně, dalším způsobem řešení potíží je vzdálené spuštění v režimu ladění. Můžete nastavit zarážky, přímo manipulovat s pamětí, procházet kód a dokonce změnit cestu kódu.

Vzdálené ladění nefunguje v edicích Express Visual Studio.

Tato část ukazuje, jak vzdáleně ladit pomocí projektu, který vytvoříte v tématu Vytvoření ASP.NET aplikace v Azure App Service.

  1. Otevřete webový projekt, který jste vytvořili v tématu Vytvoření ASP.NET aplikace v Azure App Service.

  2. Otevřete soubor Controllers\HomeController.cs.

  3. Odstraňte About() metodu a vložte na její místo následující kód.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
    
  4. Nastavte zarážku na ViewBag.Message řádek.

  5. V Průzkumník řešení klikněte pravým tlačítkem na projekt a pak klikněte na Publikovat.

  6. V rozevíracím seznamu Profil vyberte stejný profil, který jste použili v části Vytvoření ASP.NET aplikace v Azure App Service. Potom klikněte na Nastavení.

  7. V dialogovém okně Publikovat klikněte na kartu Nastavení, změňte Konfiguraci na Ladit a pak klikněte na Uložit.

    Publikování v režimu ladění

  8. Klikněte na Publikovat. Po dokončení nasazení a otevření prohlížeče na adrese URL Azure vaší aplikace zavřete prohlížeč.

  9. V Průzkumník serveru klikněte pravým tlačítkem na aplikaci a pak klikněte na Attach Debugger (Připojit ladicí program).

    Snímek obrazovky Průzkumník serveru obrazovky s vybranou aplikací a kliknutím na Attach Debugger (Připojit ladicí program)

    Prohlížeč se automaticky otevře na domovské stránce spuštěné v Azure. Možná budete muset počkat 20 sekund, než Azure nastaví server pro ladění. K tomuto zpoždění dochází pouze při prvním spuštění aplikace v režimu ladění během 48 hodin. Když znovu spustíte ladění ve stejné době, nezůstane prodleva.

    Poznámka

    Pokud máte potíže se spuštěním ladicího programu, zkuste to pomocí Průzkumníka cloudu místo Průzkumník serveru.

  10. V nabídce klikněte na O aplikaci.

    Visual Studio se zastaví na zarážce a kód běží v Azure, ne na místním počítači.

  11. Najeďte myší currentTime na proměnnou a zobrazte hodnotu času.

    Zobrazení proměnné v režimu ladění spuštěném v Azure

    Zobrazí se čas serveru Azure, který může být v jiném časovém pásmu než místní počítač.

  12. Zadejte novou hodnotu currentTime proměnné, například "Now running in Azure" (Právě běží v Azure).

  13. Pokračujte stisknutím klávesy F5.

    Stránka O aplikaci spuštěná v Azure zobrazí novou hodnotu, kterou jste zadali do proměnné currentTime.

    Stránka s novou hodnotou

Vzdálené ladění webových úlohy

Tato část ukazuje, jak vzdáleně ladit pomocí projektu a aplikace, které vytvoříte v Začínáme pomocí Azure WebJobs SDK.

Funkce uvedené v této části jsou k dispozici pouze v Visual Studio 2013 s aktualizací Update 4 nebo novější.

Vzdálené ladění funguje jenom s průběžným webjobs. Naplánované webové úlohy a webové úlohy na vyžádání nepodporují ladění.

  1. Otevřete webový projekt, který jste vytvořili v Začínáme pomocí Azure WebJobs SDK.

  2. V projektu ContosoAdsWebJob otevřete soubor Functions.cs.

  3. Nastavte zarážku u prvního příkazu v GnerateThumbnail metodě .

    Nastavení zarážky

  4. V Průzkumník řešení klikněte pravým tlačítkem na webový projekt (ne na projekt webové úlohy) a klikněte na Publikovat.

  5. V rozevíracím seznamu Profil vyberte stejný profil, který jste použili v Začínáme s Azure WebJobs SDK.

  6. Klikněte na Nastavení, změňte Konfiguraci na Ladit a pak klikněte na Publikovat.

    Visual Studio nasadí projekty webové a webové úlohy a váš prohlížeč se otevře na adrese URL Azure vaší aplikace.

  7. V Průzkumník serveru rozbalte Azure > App Service > skupinu prostředků > vaší aplikace > WebJobs > Continuous a pak klikněte pravým tlačítkem na ContosoAdsWebJob.

  8. Klikněte na Attach Debugger (Připojit ladicí program).

    Snímek obrazovky Průzkumník serveru s vybranou možností ContosoAdsWebJob v rozevírací nabídce a vybranou možností Připojit ladicí program

    Prohlížeč se automaticky otevře na domovské stránce spuštěné v Azure. Možná budete muset počkat 20 sekund, než Azure nastaví server pro ladění. K tomuto zpoždění dochází pouze při prvním spuštění aplikace v režimu ladění během 48 hodin. Když znovu spustíte ladění ve stejné době, nená prodleva.

  9. Ve webovém prohlížeči, který se otevře na domovské stránce Contoso Ads, vytvořte novou reklamu.

    Vytvořením reklamy se vytvoří zpráva fronty, kterou webová úloha vyzvedne a zpracuje. Když sada WebJobs SDK zavolá funkci , aby zpracuje zprávu fronty, kód dosáhne vaší zarážky.

  10. Když ladicí program přeruší zarážku, můžete zkoumat a měnit hodnoty proměnných, zatímco program běží v cloudu. Na následujícím obrázku ladicí program zobrazuje obsah objektu blobInfo, který byl předán GenerateThumbnail metodě .

    Objekt blobInfo v ladicím programu

  11. Pokračujte stisknutím klávesy F5.

    Metoda GenerateThumbnail dokončí vytváření miniatury.

  12. V prohlížeči aktualizujte stránku Index a uvidíte miniaturu.

  13. V Visual Studio ladění zastavte stisknutím kláves SHIFT+F5.

  14. V Průzkumník serveru klikněte pravým tlačítkem na uzel ContosoAdsWebJob a pak klikněte na Zobrazit řídicí panel.

  15. Přihlaste se pomocí svých přihlašovacích údajů Azure a potom kliknutím na název webové úlohy přejděte na stránku vaší webové úlohy.

    Klikněte na ContosoAdsWebJob.

    Řídicí panel ukazuje, že se GenerateThumbnail funkce nedávno spouštěna.

    (Když příště kliknete na Zobrazit řídicí panel, nemusíte se přihlašovat a prohlížeč přejde přímo na stránku vaší webové úlohy.)

  16. Kliknutím na název funkce zobrazíte podrobnosti o spuštění funkce.

    Podrobnosti o funkci

Pokud vaše funkce napsala protokoly, můžete je zobrazit kliknutím na ToggleOutput.

Poznámky ke vzdálenému ladění

  • Spuštění v režimu ladění v produkčním režimu se nedoporučuje. Pokud vaše produkční aplikace není škálovaná na více instancí serveru, ladění zabrání webovému serveru v reakci na jiné požadavky. Pokud máte více instancí webového serveru, při připojení k ladicímu programu získáte náhodnou instanci a nemáte způsob, jak zajistit, aby následné požadavky prohlížeče přešly na stejnou instanci. Také obvykle nesazujete sestavení pro ladění do produkčního prostředí a optimalizace kompilátoru pro sestavení verzí můžou znemožněně ukázat, co se děje řádek po řádku ve zdrojovém kódu. Pro řešení problémů s produkčním prostředím je nejlepším zdrojem trasování aplikací a protokoly webového serveru.

  • Při vzdáleném ladění se vyhněte dlouhým zastavením na zarážkách. Azure považuje proces, který je zastavený déle než několik minut, za nereagující proces a vypne ho.

  • Během ladění server odesílá data do služby Visual Studio, což může mít vliv na poplatky za šířku pásma. Informace o rychlosti šířky pásma najdete v tématu Ceny Azure.

  • Ujistěte debug se, že atribut compilation elementu v souboruWeb.config je nastaven na hodnotu true. Při publikování konfigurace sestavení pro ladění je ve výchozím nastavení nastavená na true.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Pokud zjistíte, že ladicí program nepřidá krok do kódu, který chcete ladit, možná budete muset změnit nastavení Pouze můj kód kódu. Další informace naleznete v části Specify whether to debug only user code using Pouze můj kód in Visual Studio.

  • Časovač se na serveru spustí, když povolíte funkci vzdáleného ladění, a po 48 hodinách se tato funkce automaticky vypne. Tento 48hodinový limit se provádí z důvodů zabezpečení a výkonu. Tuto funkci můžete snadno znovu zapnout, kolikrát chcete. Doporučujeme nechat ho zakázaný, když aktivně ne ladicí program nespouštíte.

  • Ladicí program můžete ručně připojit k libovolnému procesu, nejen k procesu aplikace (w3wp.exe). Další informace o použití režimu ladění v nástroji Visual Studio v tématu Ladění v Visual Studio.

Přehled diagnostických protokolů

Aplikace ASP.NET spuštěná v aplikaci App Service může vytvořit následující druhy protokolů:

  • Protokoly trasování aplikací
    Aplikace vytvoří tyto protokoly voláním metod třídy System.Diagnostics.Trace.
  • Protokoly webového serveru
    Webový server vytvoří položku protokolu pro každý požadavek HTTP na aplikaci.
  • Podrobné protokoly chybových zpráv
    Webový server vytvoří stránku HTML s dalšími informacemi o neúspěšných požadavcích HTTP (požadavky, které mají za následek stavový kód 400 nebo vyšší).
  • Protokoly trasování neúspěšných požadavků
    Webový server vytvoří soubor XML s podrobnými informacemi o trasování neúspěšných požadavků HTTP. Webový server také poskytuje soubor XSL pro formátování XML v prohlížeči.

Protokolování má vliv na výkon aplikace, takže Azure umožňuje podle potřeby jednotlivé typy protokolů povolit nebo zakázat. V případě aplikačních protokolů můžete určit, že se mají zapisovat pouze protokoly nad určitou úroveň závažnosti. Když vytvoříte novou aplikaci, je ve výchozím nastavení protokolování zakázané.

Protokoly se zapisou do souborů ve složce LogFiles v systému souborů vaší aplikace a jsou přístupné přes FTP. Protokoly webového serveru a aplikační protokoly je také možné zapisovat do Azure Storage účtu. V účtu úložiště můžete uchovávat větší objem protokolů, než je možné v systému souborů. Při použití systému souborů jste omezeni na maximálně 100 megabajtů protokolů. (Protokoly systému souborů jsou jenom pro krátkodobé uchovávání. Azure po dosažení limitu odstraní staré soubory protokolů, aby bylo místo pro nové soubory.)

Vytvoření a zobrazení protokolů trasování aplikací

V této části budete provádět následující úlohy:

  • Přidejte příkazy trasování do webového projektu, který jste vytvořili v části Začínáme s Azure a ASP.NET.
  • Zobrazte protokoly při místním spuštění projektu.
  • Prohlédněte si protokoly vygenerované aplikací spuštěnou v Azure.

Informace o vytváření aplikačních protokolů ve webových úlohách najdete v tématu Jak pracovat s Azure Queue Storage pomocí sady WebJobs SDK –Jak zapisovat protokoly. Následující pokyny pro zobrazení protokolů a řízení způsobu jejich uložení v Azure platí také pro aplikační protokoly vytvořené webovými úlohami.

Přidání příkazů trasování do aplikace

  1. Otevřete soubor Controllers\HomeController.cs a nahraďte metody , a následujícím kódem, abyste mohli přidat příkazy Index a příkaz pro About Contact Trace using System.Diagnostics :

    public ActionResult Index()
    {
        Trace.WriteLine("Entering Index method");
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
        Trace.TraceInformation("Displaying the Index page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Index method");
        return View();
    }
    
    public ActionResult About()
    {
        Trace.WriteLine("Entering About method");
        ViewBag.Message = "Your app description page.";
        Trace.TraceWarning("Transient error on the About page at " + DateTime.Now.ToShortTimeString());
        Trace.WriteLine("Leaving About method");
        return View();
    }
    
    public ActionResult Contact()
    {
        Trace.WriteLine("Entering Contact method");
        ViewBag.Message = "Your contact page.";
        Trace.TraceError("Fatal error on the Contact page at " + DateTime.Now.ToLongTimeString());
        Trace.WriteLine("Leaving Contact method");
        return View();
    }        
    
  2. Na using System.Diagnostics; začátek souboru přidejte příkaz .

Zobrazení výstupu trasování místně

  1. Stisknutím klávesy F5 spusťte aplikaci v režimu ladění.

    Výchozí naslouchací proces trasování zapíše veškerý výstup trasování do okna Výstup spolu s dalším výstupem ladění. Následující obrázek ukazuje výstup z příkazů trasování, které jste přidali do Index metody .

    Trasování v okně Ladění

    Následující kroky ukazují, jak zobrazit výstup trasování na webové stránce bez kompilace v režimu ladění.

  2. Otevřete aplikaci Web.config souboru (ten, který se nachází ve složce projektu) a přidejte element na konec souboru těsně před uzavírací <system.diagnostics> </configuration> prvek:

    <system.diagnostics>
    <trace>
      <listeners>
        <add name="WebPageTraceListener"
            type="System.Web.WebPageTraceListener,
            System.Web,
            Version=4.0.0.0,
            Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a" />
      </listeners>
    </trace>
    </system.diagnostics>
    

Umožňuje WebPageTraceListener zobrazit výstup trasování tak, že se zobrazí na /trace.axd .

  1. Přidejte element trace do Web.config <system.web> souboru, jako je například následující příklad:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
    
  2. Stiskněte klávesy CTRL+F5 a spusťte aplikaci.

  3. Do adresního řádku okna prohlížeče přidejte do adresy URL trace.axd a stiskněte Enter (adresa URL je podobná http://localhost:53370/trace.axd adrese ).

  4. Na stránce Trasování aplikace klikněte na prvním řádku na Zobrazit podrobnosti (ne na řádek BrowserLink).

    Snímek obrazovky se stránkou Trasování aplikace ve webovém prohlížeči zobrazující možnost Zobrazit podrobnosti vybranou na prvním řádku

    Zobrazí se stránka Podrobnosti požadavku a v části Informace o trasování uvidíte výstup z příkazů trasování, které jste přidali do Index metody .

    Snímek obrazovky se stránkou Podrobnosti požadavku ve webovém prohlížeči se zvýrazněnou zprávou v části Trace Information (Informace o trasování)

    Ve výchozím nastavení trace.axd je k dispozici pouze místně. Pokud jste chtěli, aby byl k dispozici ze vzdálené aplikace, mohli byste přidat localOnly="false" do trace prvku v souboru Web.config , jak je znázorněno v následujícím příkladu:

    <trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />
    

    Povolení trace.axd v produkční aplikaci se ale z bezpečnostních důvodů nedoporučuje. V následujících částech uvidíte snazší způsob, jak číst protokoly trasování v aplikaci App Service.

Zobrazit výstup trasování v Azure

  1. V Průzkumník řešení klikněte pravým tlačítkem myši na webový projekt a klikněte na publikovat.

  2. V dialogovém okně Publikovat web klikněte na publikovat.

    po Visual Studio publikování aktualizace otevře okno prohlížeče na domovské stránce (za předpokladu, že jste na kartě připojení neurčili cílovou adresu URL ).

  3. V Průzkumník serveru klikněte pravým tlačítkem myši na svou aplikaci a vyberte Zobrazit protokoly streamování.

    Snímek obrazovky Průzkumník serveru po kliknutí pravým tlačítkem myši na aplikaci a zobrazení protokolů streamování, které jsou vybrány v novém okně.

    V okně výstup se zobrazí zpráva, že jste připojeni ke službě streamování protokolů a do každé minuty přidáte řádek oznámení bez protokolu, který se má zobrazit.

    Snímek obrazovky okna výstup zobrazující příklad připojení ke službě streamování protokolů s řádky oznámení

  4. V okně prohlížeče, které zobrazuje vaši domovskou stránku aplikace klikněte na tlačítko kontakt.

    Během několika sekund se zobrazí výstup trasování na úrovni chyby, které jste přidali do metody, Contact v okně výstup .

    Trasování chyb v okně výstup

    Visual Studio se zobrazuje pouze trasování na úrovni chyb, protože toto je výchozí nastavení, když povolíte službu sledování protokolů. Když vytvoříte novou aplikaci App Service, všechna protokolování budou ve výchozím nastavení zakázaná, protože jste viděli, když jste otevřeli stránku nastavení dříve:

    Odhlášení aplikace

    pokud jste však vybrali možnost zobrazit protokoly streamování, Visual Studio automaticky změnila protokolování aplikace (systém souborů) na chybu, což znamená, že protokoly na úrovni chyby jsou hlášeny. Aby se zobrazily všechny protokoly trasování, můžete toto nastavení změnit na verbose. Když vyberete nižší úroveň závažnosti než chyba, nahlásí se taky všechny protokoly pro vyšší úrovně závažnosti. Takže když vyberete podrobné informace, zobrazí se také protokoly informací, upozornění a chyb.

  5. v Průzkumník serveru klikněte pravým tlačítkem myši na aplikaci a potom klikněte na tlačítko zobrazit Nastavení jako dříve.

  6. Změňte protokolování aplikace (systém souborů) na podrobné a pak klikněte na Uložit.

    Nastavení úrovně trasování na Verbose

  7. V okně prohlížeče, ve kterém se teď zobrazuje vaše kontaktní stránka, klikněte na Domů, klikněte na o a pak klikněte na kontakt.

    Během několika sekund se v okně výstup zobrazí celý výstup trasování.

    Podrobný výstup trasování

    V této části jste povolili a zakázali protokolování pomocí nastavení aplikace. Můžete také povolit a zakázat naslouchací procesy trasování úpravou souboru Web.config. Úprava souboru Web.config ale způsobí, že se doména aplikace recykluje, zatímco při povolování protokolování přes konfiguraci aplikace to neudělá. Pokud dojde k opakovanému reprodukování nebo občasnýmu zpracování problému, recyklování domény aplikace může "opravit" a vynutit vám, abyste počkali, až bude znovu provedeno. Povolením diagnostiky v Azure umožníte okamžité zachycení informací o chybách bez recyklace domény aplikace.

Funkce okna výstup

karta protokoly Microsoft Azure v okně výstup obsahuje několik tlačítek a textové pole:

snímek obrazovky se zobrazenými tlačítky a textovým polem karty protokoly Microsoft Azure v okně výstup.

Provádí následující funkce:

  • Vymažte okno výstup .
  • Povolí nebo zakáže zalamování řádků.
  • Spustit nebo zastavit protokoly monitorování.
  • Zadejte protokoly, které chcete monitorovat.
  • Stáhněte si protokoly.
  • Filtrovat protokoly na základě hledaného řetězce nebo regulárního výrazu.
  • Zavřete okno výstup .

pokud zadáte hledaný řetězec nebo regulární výraz, Visual Studio filtruje informace protokolování v klientovi. To znamená, že můžete zadat kritéria po zobrazení protokolů v okně výstup a kritéria filtrování můžete změnit, aniž byste museli znovu vygenerovat protokoly.

Zobrazit protokoly webového serveru

Protokoly webového serveru zaznamenávají všechny aktivity HTTP pro aplikaci. chcete-li je zobrazit v okně výstup , je nutné je povolit pro aplikaci a sdělit Visual Studio, které chcete monitorovat.

  1. Na kartě Konfigurace webové aplikace Azure , kterou jste otevřeli z Průzkumník serveru, změňte protokolování webového serveru na zapnuto a pak klikněte na Uložit.

    Povolit protokolování webového serveru

  2. v okně výstup klikněte na tlačítko určete, které protokoly Microsoft Azure se mají monitorovat .

    Zadejte, které protokoly Azure se mají monitorovat.

  3. v dialogovém okně možnosti protokolování Microsoft Azure vyberte protokoly webového serveru a pak klikněte na OK.

    Monitorování protokolů webového serveru

  4. V okně prohlížeče, ve kterém se aplikace zobrazuje, klikněte na Domů, klikněte na o a pak klikněte na kontakt.

    Obecně se zobrazí protokoly aplikací, za kterými následuje protokol webového serveru. Je možné, že budete muset chvíli počkat, než se protokoly objeví.

    Protokoly webového serveru v okně výstup

ve výchozím nastavení při prvním povolení protokolů webového serveru pomocí Visual Studio Azure zapisuje protokoly do systému souborů. Jako alternativu můžete použít Azure Portal k určení, jestli se protokoly webového serveru mají zapsat do kontejneru objektů BLOB v účtu úložiště.

pokud použijete portál k povolení protokolování webového serveru do účtu služby Azure storage a potom zakážete protokolování Visual Studio, při opětovném povolení přihlášení Visual Studio obnovení nastavení účtu úložiště.

Zobrazit podrobné protokoly chybových zpráv

Podrobné protokoly chyb obsahují další informace o požadavcích HTTP, které mají za následek kódy chybových odpovědí (400 nebo vyšší). aby je bylo možné zobrazit v okně výstup , je nutné je povolit pro aplikaci a sdělit Visual Studio, které chcete monitorovat.

  1. Na kartě Konfigurace webové aplikace Azure , kterou jste otevřeli z Průzkumník serveru, změňte podrobné chybové zprávy na zapnuto a pak klikněte na Uložit.

    Povolit podrobné chybové zprávy

  2. v okně výstup klikněte na tlačítko určete, které protokoly Microsoft Azure se mají monitorovat .

  3. v dialogovém okně možnosti protokolování Microsoft Azure klikněte na všechny protokoly a pak klikněte na OK.

    Monitorovat všechny protokoly

  4. Na panelu Adresa v okně prohlížeče přidejte k adrese URL znak navíc, který způsobí chybu 404 (například http://localhost:53370/Home/Contactx ), a stiskněte klávesu ENTER.

    po několika sekundách se zobrazí podrobný protokol chyb v okně Visual Studio výstup .

    Podrobný protokol chyb – okno výstup

    Ovládací prvek a kliknutím na odkaz zobrazíte výstup protokolu formátovaný v prohlížeči:

    Podrobný protokol chyb – okno prohlížeče

Stáhnout protokoly systému souborů

Všechny protokoly, které lze monitorovat v okně výstup , lze také stáhnout jako soubor .zip .

  1. V okně výstup klikněte na Stáhnout protokoly streamování.

    Snímek obrazovky okna výstup zobrazující, že se zvýrazní tlačítko Stáhnout protokoly streamování

    Průzkumník souborů se otevře ve složce stažené soubory se zvoleným staženým souborem.

    Snímek obrazovky složky Ke_stažení v Průzkumníkovi souborů se zvoleným staženým souborem

  2. Extrahujte soubor .zip a uvidíte následující strukturu složek:

    Snímek obrazovky .zip struktury složky souboru po extrakci souboru

    • Protokoly trasování aplikace jsou v .txt soubory ve složce LogFiles\Application .

    • Protokoly webového serveru jsou v souborech . log ve složce LogFiles\http\RawLogs . Pomocí nástroje, jako je analyzátor protokolů , můžete tyto soubory zobrazit a manipulovat s nimi.

    • Podrobné protokoly chybových zpráv jsou .html soubory ve složce LogFiles\DetailedErrors .

      (složka nasazení je určena pro soubory vytvořené publikováním správy zdrojového kódu; neobsahuje žádnou souvislost s Visual Studio publikování. Složka Git je určena pro trasování týkající se publikování správy zdrojového kódu a služby streamování souborů protokolu.)

Zobrazit protokoly trasování neúspěšných žádostí

Protokoly pro trasování chybných požadavků jsou užitečné, pokud potřebujete pochopit podrobnosti o tom, jak služba IIS zpracovává požadavek HTTP, ve scénářích, jako je například přepisování adresy URL nebo problémy s ověřováním.

Aplikace App Service používají stejné funkce pro trasování chybných požadavků, které jsou dostupné se službou IIS 7,0 a novější. Nemáte přístup k nastavení služby IIS, která konfigurují, které chyby se ale protokolují. Pokud povolíte trasování chybných požadavků, budou zachyceny všechny chyby.

trasování chybných požadavků můžete povolit pomocí Visual Studio, ale nemůžete je zobrazit v Visual Studio. Tyto protokoly jsou soubory XML. Služba protokol streamování monitoruje pouze soubory, které jsou považovány za čitelné v režimu prostého textu: .txt, .html a soubory protokolu .

Protokoly pro trasování chybných požadavků můžete zobrazit v prohlížeči přímo prostřednictvím FTP nebo místně po použití nástroje FTP pro jejich stažení do místního počítače. V této části je budete zobrazovat přímo v prohlížeči.

  1. Na kartě Konfigurace okna webové aplikace Azure , které jste otevřeli z Průzkumník serveru, změňte trasování chybných požadavků na zapnuto a pak klikněte na Uložit.

    Povolení trasování neúspěšných požadavků

  2. V adresní řádku okna prohlížeče, které zobrazuje aplikaci, přidejte k adrese URL další znak a klikněte na Enter, aby došlo k chybě 404.

    To způsobí vytvoření protokolu trasování neúspěšných požadavků a následující kroky ukazují, jak protokol zobrazit nebo stáhnout.

  3. V Visual Studio v okně Webová aplikace Azure na kartě Konfigurace klikněte na Otevřít v Portál pro správu.

  4. Na stránce Azure Portal Nastavení vaší aplikace klikněte na Přihlašovací údaje pro nasazení a zadejte nové uživatelské jméno a heslo.

    Nové uživatelské jméno a heslo FTP

    Poznámka

    Když se přihlásíte, musíte použít celé uživatelské jméno s názvem aplikace, který k ní má předponu. Pokud například zadáte "myid" jako uživatelské jméno a web je "myexample", přihlásíte se jako "myexample\myid".

  5. V novém okně prohlížeče přejděte na adresu URL, která se zobrazí v části Název hostitele FTP nebo Název hostitele FTPS na stránce Přehled vaší aplikace.

  6. Přihlaste se pomocí přihlašovacích údajů FTP, které jste vytvořili dříve (včetně předpony názvu aplikace pro uživatelské jméno).

    V prohlížeči se zobrazí kořenová složka aplikace.

  7. Otevřete složku LogFiles.

    Otevření složky LogFiles

  8. Otevřete složku s názvem W3SVC a číselnou hodnotou.

    Otevření složky W3SVC

    Složka obsahuje soubory XML pro všechny chyby, které byly protokolovány po povolení trasování neúspěšných požadavků, a soubor XSL, který může prohlížeč použít k formátování XML.

    Složka W3SVC

  9. Klikněte na soubor XML pro neúspěšný požadavek, pro který chcete zobrazit informace o trasování.

    Následující obrázek znázorňuje část informací o trasování ukázkové chyby.

    Trasování neúspěšných požadavků v prohlížeči

Další kroky

Viděli jste, jak Visual Studio umožňuje snadno zobrazit protokoly vytvořené aplikací App Service aplikace. Následující části obsahují odkazy na další zdroje informací k souvisejícím tématům:

  • App Service potíží
  • Ladění v sadě Visual Studio
  • Vzdálené ladění v Azure
  • Trasování v ASP.NET aplikacích
  • Analýza protokolů webového serveru
  • Analýza protokolů trasování neúspěšných požadavků
  • Ladění Cloud Services

App Service potíží

Další informace o řešení potíží s aplikacemi v Azure App Service najdete v následujících zdrojích informací:

Pokud chcete pomoc s konkrétní otázkou při řešení potíží, spusťte vlákno na jednom z následujících fór:

Ladění v sadě Visual Studio

Další informace o použití režimu ladění v nástroji Visual Studio najdete v tématu Ladění v nástroji Visual Studio and Debugging Tipy with Visual Studio 2010.

Vzdálené ladění v Azure

Další informace o vzdáleném ladění pro App Service aplikace a webové úlohy najdete v následujících zdrojích informací:

Pokud vaše aplikace používá webové rozhraní API Azure nebo Mobile Services back-end a potřebujete ho ladit, podívejte se na část Ladění back-endu .NETv Visual Studio .

Trasování v ASP.NET aplikacích

Na internetu nejsou k dispozici žádné důkladné a aktuální ASP.NET trasování dat. Nejlepší, co můžete udělat, je začít se starými úvodními materiály napsanými pro Web Forms, protože MVC ještě neexistoval, a doplnit je o novější blogové příspěvky, které se zaměřují na konkrétní problémy. Dobrými místy, kde začít, jsou následující zdroje informací:

Pro protokolování chyb je alternativou k psaní vlastního kódu trasování použití open source protokolovacího rozhraní, jako je ELMAH. Další informace najdete v blogovém příspěvku Scotta Hanselmana o ELMAH.

K získání protokolů streamování z Azure také ASP.NET ani System.Diagnostics trasování. Služba App Service streamování aplikace streamuje všechny soubory.txt, .html nebo .log, které najde ve složce LogFiles. Proto můžete vytvořit vlastní protokolovací systém, který zapisuje do systému souborů aplikace a váš soubor se automaticky streamuje a stahuje. Jediné, co musíte udělat, je napsat kód aplikace, který vytvoří soubory ve složce d:\home\logfiles.

Analýza protokolů webového serveru

Další informace o analýze protokolů webového serveru najdete v následujících zdrojích informací:

Analýza protokolů trasování neúspěšných požadavků

Web Microsoft TechNet obsahuje část Trasování chybných žádostí, která může být užitečná k pochopení toho, jak tyto protokoly používat. Tato dokumentace se ale zaměřuje hlavně na konfiguraci trasování neúspěšných požadavků ve službě IIS, což v tomto Azure App Service.