Řešení potíží s aplikací ve službě Aplikace Azure pomocí sady Visual Studio

Poznámka:

Tento článek je určený pro Visual Studio 2019. Informace o řešení potíží v sadě Visual Studio 2022 najdete v tématu Vzdálené ladění ASP.NET Core ve službě Aplikace Azure Service.

Přehled

V tomto kurzu se dozvíte, jak pomocí nástrojů sady Visual Studio ladit aplikaci ve službě App Service spuštěním vzdáleného režimu ladění nebo zobrazením protokolů aplikací a protokolů webového serveru.

Naučíte se:

  • Které funkce správy aplikací jsou k dispozici v sadě Visual Studio.
  • Jak pomocí vzdáleného zobrazení sady Visual Studio provádět rychlé změny 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 při vytváření aplikace
  • Jak zobrazit protokoly webového serveru, včetně podrobných chybových zpráv a trasování neúspěšných požadavků
  • Jak odesílat diagnostické protokoly do účtu služby Azure Storage a zobrazit je tam.

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

Požadavky

Tento kurz funguje s vývojovým prostředím, webovým projektem a aplikací App Service, kterou jste nastavili v části Vytvoření aplikace ASP.NET ve službě Aplikace Azure Service. V oddílech WebJobs budete potřebovat aplikaci, kterou vytvoříte v části Začínáme se sadou Azure WebJobs SDK.

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

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

Funkce protokolů streamování funguje jenom pro aplikace, které cílí na rozhraní .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 na webu Azure Portal. V této části uvidíte, co je dostupné pomocí Průzkumníka serveru. Pokud chcete zobrazit nejnovější funkce integrace Azure, vyzkoušejte také Cloud Explorer . Obě okna můžete otevřít v nabídce Zobrazení .

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

    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íku serveru a v místní nabídce vyberte Spravovat a filtrovat předplatná . V dialogovém okně Spravovat předplatná Microsoft Azure klikněte na kartu Certifikáty a potom klikněte na importovat. Postupujte podle pokynů ke stažení a importu souboru předplatného (označovaného také jako 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řipojování k prostředkům Azure ze sady Visual Studio najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

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

  3. Rozbalte skupinu prostředků, která obsahuje aplikaci, kterou jste vytvořili v části Vytvořit aplikaci ASP.NET ve službě Aplikace Azure Service, a potom klikněte pravým tlačítkem myši na uzel aplikace a klikněte na Zobrazit nastavení.

    Nastavení zobrazení v Průzkumníku serveru

    Zobrazí se karta Webová aplikace Azure a můžete vidět úlohy správy a konfigurace aplikací, které jsou k dispozici v sadě Visual Studio.

    Okno Webové aplikace Azure

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

    Informace o nastavení aplikace a připojovacích řetězcích v tomto okně najdete v tématu Aplikace Azure Služba: Jak fungují řetězce aplikací a připojovací řetězce.

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

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

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

Chyba serveru v aplikaci /:

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

Došlo k chybě:

Snímek obrazovky znázorňující příklad obecné chyby, ke které dochází ve webovém prohlížeči

Web nemůže stránku zobrazit.

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

Často nejjednodušší způsob, jak najít příčinu chyby, je povolit podrobné chybové zprávy, které první z předchozích snímků obrazovky vysvětlují, jak to udělat. To vyžaduje změnu v nasazeného souboru Web.config. Můžete upravit soubor Web.config v projektu a znovu nasadit projekt, nebo vytvořit Web.config transformaci a nasadit sestavení ladění, ale existuje rychlejší způsob: ve 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íku serveru rozbalte Azure, rozbalte App Service, rozbalte skupinu prostředků, ve které se nachází vaše aplikace, a pak rozbalte uzel vaší aplikace.

    Zobrazí se uzly, které umožňují přístup k souborům obsahu a souborům protokolu aplikace.

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

    Otevřít Web.config

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

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

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

    Upravit web.config

  4. Aktualizujte prohlížeč, který zobrazuje neužitečné chybové zprávy, a zobrazí se vám podrobná chybová zpráva, například následující příklad:

    Podrobná chybová zpráva

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

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

Vzdálené ladění aplikací

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

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

Tato část ukazuje, jak vzdáleně ladit pomocí projektu, který vytvoříte v aplikaci ASP.NET ve službě Aplikace Azure Service.

  1. Otevřete webový projekt, který jste vytvořili v části Vytvoření aplikace ASP.NET ve službě Aplikace Azure Service.

  2. Otevřete Controllers\HomeController.cs.

  3. Odstraňte metodu About() a vložte na jeho 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 řádku.

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

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

  7. V dialogovém okně Publikovat klikněte na kartu Nastavení a potom změňte konfiguraci na Ladění a potom klepněte na tlačítko Uložit.

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

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

  9. V Průzkumníku serveru klikněte pravým tlačítkem na aplikaci a potom klikněte na Připojit ladicí program.

    Snímek obrazovky okna Průzkumníka serveru s vybranou aplikací a následným kliknutím na 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 nebo tak, když Azure nastaví server pro ladění. K tomuto zpoždění dochází pouze při prvním spuštění v režimu ladění v aplikaci v 48hodinovém období. Při opětovném spuštění ladění ve stejném období nedojde ke zpoždění.

    Poznámka:

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

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

    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ší na proměnnou currentTime , aby se zobrazila časová hodnota.

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

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

  12. Zadejte novou hodnotu proměnné currentTime , například "Nyní běží v Azure".

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

    Na stránce Informace spuštěné v Azure se zobrazí nová hodnota, kterou jste zadali do proměnné currentTime.

    Stránka O stránce s novou hodnotou

Vzdálené ladění WebJobs

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

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

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

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

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

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

    Nastavení zarážky

  4. V Průzkumník řešení klikněte pravým tlačítkem myši 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 části Začínáme se sadou Azure WebJobs SDK.

  6. Klikněte na kartu Nastavení a změňte konfiguraci na Ladění a potom klepněte na tlačítko Publikovat.

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

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

  8. Klepněte na tlačítko Připojit ladicí program.

    Snímek obrazovky Průzkumníka serveru s vybranou sadou 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 nebo tak, když Azure nastaví server pro ladění. K tomuto zpoždění dochází pouze při prvním spuštění v režimu ladění v aplikaci v 48hodinovém období. Při opětovném spuštění ladění ve stejném období nedojde ke zpoždění.

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

    Vytvoření reklamy způsobí vytvoření zprávy fronty, která je vyzvednuta webovou úlohou a zpracována. Když sada WebJobs SDK zavolá funkci pro zpracování zprávy fronty, kód dosáhne zarážky.

  10. Když se ladicí program přeruší na zarážce, 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 metodě GenerateThumbnail .

    Objekt blobInfo v ladicím programu

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

    Metoda GenerateThumbnail dokončí vytvoření miniatury.

  12. V prohlížeči aktualizujte indexovou stránku a zobrazí se miniatura.

  13. V sadě Visual Studio zastavíte ladění stisknutím kombinace kláves SHIFT+F5.

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

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

    Klikněte na ContosoAdsWebJob.

    Řídicí panel ukazuje, že GenerateThumbnail se funkce spustila nedávno.

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

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

    Podrobnosti funkce

Pokud vaše funkce zapisovala 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 prostředí 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ím programu získáte náhodnou instanci a nemáte žádný způsob, jak zajistit, aby následné požadavky prohlížeče přešly do stejné instance. Obvykle také nenasazujete ladicí sestavení do produkčního prostředí a optimalizace kompilátoru pro sestavení vydaných verzí můžou znemožnit zobrazení toho, co se děje řádek po řádku ve zdrojovém kódu. Při řešení problémů v produkčním prostředí je nejlepším prostředkem trasování aplikací a protokolů webového serveru.

  • Vyhýbejte se dlouhým zastavením zarážek při vzdáleném ladění. Azure zpracovává proces, který je zastavený déle než několik minut, jako nereagující proces a vypne ho.

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

  • Ujistěte se, že debug atribut elementu v souboru Web.config je nastaven compilation na hodnotu true. Když publikujete konfiguraci sestavení ladění, nastaví se ve výchozím nastavení na hodnotu true.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Pokud zjistíte, že ladicí program nekročí do kódu, který chcete ladit, budete možná muset změnit nastavení Jen můj kód. Další informace naleznete v tématu Určení, zda se má ladit pouze uživatelský kód pomocí just My Code v sadě Visual Studio.

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

  • 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 sadě Visual Studio naleznete v tématu Ladění v sadě Visual Studio.

Přehled diagnostických protokolů

Aplikace ASP.NET, která běží v aplikaci App Service, může vytvořit následující typy protokolů:

  • Protokoly trasování aplikací
    Aplikace tyto protokoly vytvoří 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 aplikace.
  • Podrobné protokoly chybových zpráv
    Webový server vytvoří stránku HTML s některými dalšími informacemi pro neúspěšné požadavky 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í pro neúspěšné požadavky 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 povolit nebo zakázat každý typ protokolu. V případě aplikačních protokolů můžete určit, že by se měly zapisovat pouze protokoly nad určitou úrovní závažnosti. Když vytvoříte novou aplikaci, ve výchozím nastavení je veškeré protokolování zakázané.

Protokoly se zapisují do souborů ve složce LogFiles v systému souborů aplikace a jsou přístupné přes FTP. Protokoly webového serveru a protokoly aplikací je možné zapsat také do účtu azure Storage. V účtu úložiště můžete zachovat větší objem protokolů, než je možné v systému souborů. Při používání systému souborů máte omezení na maximálně 100 megabajtů protokolů. (Protokoly systému souborů jsou určené pouze pro krátkodobé uchovávání. Azure odstraní staré soubory protokolu, aby se po dosažení limitu uvolnilo místo pro nové soubory.)

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

V této části provedete 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.
  • Prohlédněte si 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 úložištěm front Azure pomocí sady WebJobs SDK – Jak zapisovat protokoly. Následující pokyny pro zobrazení protokolů a řízení toho, jak jsou uložené v Azure, platí také pro protokoly aplikací vytvořené webovou úlohou.

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

  1. Otevřete Controllers\HomeController.cs a nahraďte Index, Abouta Contact metody následujícím kódem, aby bylo možné přidat Trace příkazy a using příkaz pro 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. using System.Diagnostics; Na 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 znázorňuje 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 soubor Web.config aplikace (ten, který se nachází ve složce projektu) a přidejte <system.diagnostics> na konec souboru prvek těsně před uzavírací </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í procházením na /trace.axd.

  1. Přidejte do souboru Web.config element <system.web> trasování, například v následujícím příkladu:

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

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

    Snímek obrazovky stránky Trasování aplikace ve webovém prohlížeči zobrazující podrobnosti zobrazení vybrané na prvním řádku

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

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

    Ve výchozím nastavení trace.axd je k dispozici pouze místně. Pokud ho chcete zpřístupnit ze vzdálené aplikace, můžete do elementu trace v souboru Web.config přidatlocalOnly="false", 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 jednodušší způsob, jak číst protokoly trasování v aplikaci App Service.

Zobrazení výstupu 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 klepněte na tlačítko Publikovat.

    Jakmile Visual Studio publikuje vaši aktualizaci, otevře se na domovské stránce okno prohlížeče (za předpokladu, že jste nesmazat cílovou adresu URL na kartě Připojení ).

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

    Snímek obrazovky Průzkumníka serveru po kliknutí pravým tlačítkem myši na aplikaci s vybranou možností Zobrazit protokoly streamování v novém okně

    V okně Výstup se zobrazí, že jste připojení ke službě streamování protokolů a každou minutu přidá řádek oznámení, který se zobrazí bez protokolu, který se má zobrazit.

    Snímek obrazovky s oknem Výstup zobrazující příklad připojení ke službě streamování protokolů s oznamovacími řádky

  4. V okně prohlížeče s domovskou stránkou aplikace klikněte na Kontakt.

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

    Trasování chyb v okně Výstup

    Visual Studio zobrazuje pouze trasování na úrovni chyb, protože toto je výchozí nastavení, když povolíte službu monitorování protokolů. Když vytvoříte novou aplikaci App Service, veškeré protokolování se ve výchozím nastavení zakáže, jak jste viděli při otevření stránky nastavení dříve:

    Odhlášení aplikace

    Pokud jste však vybrali možnost Zobrazit protokoly streamování, sada Visual Studio automaticky změnila protokolování aplikace (systém souborů) na chybu, což znamená, že protokoly na úrovni chyb se oznamí. Pokud chcete zobrazit všechny protokoly trasování, můžete toto nastavení změnit na Podrobné. Když vyberete úroveň závažnosti nižší než chyba, zobrazí se také všechny protokoly pro vyšší úrovně závažnosti. Když tedy vyberete podrobnou verzi, zobrazí se také informace, upozornění a protokoly chyb.

  5. V Průzkumníku serveru klikněte pravým tlačítkem myši na aplikaci a potom klikněte na Zobrazit nastavení , jak jste to udělali dříve.

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

    Nastavení úrovně trasování na podrobnou

  7. V okně prohlížeče, které teď zobrazuje vaši stránku Kontakt , klepněte na tlačítko Domů, potom klepněte na tlačítko O aplikaci a potom klepněte na tlačítko Kontakt.

    Během několika sekund se v okně Výstup zobrazí veškerý výstup trasování.

    Podrobný výstup trasování

    V této části jste protokolování povolili a zakázali 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í recyklaci domény aplikace a povolení protokolování prostřednictvím konfigurace aplikace to neuděláte. Pokud problém trvá dlouhou dobu reprodukování nebo je přerušovaný, recyklace domény aplikace ji může "opravit" a vynutit, abyste čekali, dokud se znovu nestane. Povolení diagnostiky v Azure umožňuje okamžitě začít zaznamenávat informace o chybách bez recyklace domény aplikace.

Funkce okna výstupu

Karta Protokoly Microsoft Azure v okně Výstup obsahuje několik tlačítek a textové pole:

Snímek obrazovky s tlačítky a textovým polem na kartě Protokoly Microsoft Azure v okně Výstup

Tyto funkce provádějí následující funkce:

  • Vymažte okno Výstup.
  • Povolení nebo zakázání zalamování slov
  • Spusťte nebo zastavte monitorování protokolů.
  • Určete, které protokoly se mají monitorovat.
  • Stáhněte si protokoly.
  • Filtrujte protokoly na základě vyhledávací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 po zobrazení protokolů v okně Výstup můžete zadat kritéria a změnit kritéria filtrování bez nutnosti znovu vygenerovat protokoly.

Zobrazení protokolů webového serveru

Protokoly webového serveru zaznamenávají všechny aktivity HTTP pro aplikaci. Pokud je chcete zobrazit v okně Výstup , musíte je povolit pro aplikaci a sdělit sadě Visual Studio, že je chcete monitorovat.

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

    Povolení protokolování webového serveru

  2. V okně Výstup klikněte na tlačítko Určit, které protokoly Microsoft Azure chcete monitorovat .

    Určení protokolů Azure, které se mají monitorovat

  3. V dialogovém okně Možnosti protokolování Microsoft Azure vyberte protokoly webového serveru a klepněte na tlačítko OK.

    Monitorování protokolů webového serveru

  4. V okně prohlížeče, které zobrazuje aplikaci, klikněte na Domů, potom na O aplikaci a potom na Kontakt.

    Protokoly aplikací se obvykle zobrazují jako první a následně protokoly webového serveru. Možná budete muset chvíli počkat, než se protokoly zobrazí.

    Protokoly webového serveru v okně Výstup

Když protokoly webového serveru poprvé povolíte pomocí sady Visual Studio, Azure ve výchozím nastavení zapíše protokoly do systému souborů. Jako alternativu můžete pomocí webu Azure Portal určit, že protokoly webového serveru by se měly zapisovat do kontejneru objektů blob v účtu úložiště.

Pokud pomocí portálu povolíte protokolování webového serveru do účtu úložiště Azure a potom zakážete protokolování v sadě Visual Studio, obnoví se při opětovném povolení protokolování v sadě Visual Studio nastavení účtu úložiště.

Zobrazení podrobných protokolů chybových zpráv

Podrobné protokoly chyb obsahují další informace o požadavcích HTTP, které vedou k kódům odpovědí na chyby (400 nebo vyšší). Abyste je viděli v okně Výstup , musíte je povolit pro aplikaci a sdělit sadě Visual Studio, že je chcete monitorovat.

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

    Povolení podrobných chybových zpráv

  2. V okně Výstup klikněte na tlačítko Určit, které protokoly Microsoft Azure chcete monitorovat .

  3. V dialogovém okně Možnosti protokolování Microsoft Azure klepněte na tlačítko Všechny protokoly a potom klepněte na tlačítko OK.

    Monitorování všech protokolů

  4. Na panelu Adresa okna prohlížeče přidejte k adrese URL další znak, který způsobí chybu 404 (například http://localhost:53370/Home/Contactx) a stiskněte Enter.

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

    Podrobný protokol chyb – okno Výstup

    Stisknutím klávesy Control a kliknutím na odkaz zobrazíte výstup protokolu formátovaný v prohlížeči:

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

Stažení protokolů systému souborů

Všechny protokoly, které můžete monitorovat v okně Výstup , je možné stáhnout také jako .zip soubor.

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

    Snímek obrazovky s oknem Výstup se zvýrazněným tlačítkem Stáhnout protokoly streamování

    Průzkumník souborů se otevře Stáhne složku s vybraným staženým souborem.

    Snímek obrazovky se složkou Stažené soubory v Průzkumník souborů s vybraným staženým souborem

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

    Snímek obrazovky se strukturou složek .zip po extrahování souboru

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

    • Protokoly webového serveru jsou ve .log soubory ve složce LogFiles\http\RawLogs. K zobrazení a manipulaci s těmito soubory můžete použít nástroj, například Log Parser .

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

      (Složka nasazení je určená pro soubory vytvořené publikováním správy zdrojového kódu. Nemá nic souvisejícího s publikováním sady Visual Studio. Složka Git je určená pro trasování související s publikováním správy zdrojového kódu a službou streamování souborů protokolu.)

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

Protokoly trasování neúspěšných požadavků jsou užitečné, když potřebujete pochopit podrobnosti o tom, jak služba IIS zpracovává požadavek HTTP ve scénářích, jako jsou problémy s přepisem adresy URL nebo ověřováním.

Aplikace App Service používají stejnou funkci trasování neúspěšných požadavků, která byla k dispozici ve službě IIS 7.0 a novější. Nemáte přístup k nastavení služby IIS, která konfigurují chyby, které se ale protokolují. Když povolíte trasování neúspěšných požadavků, zachytí se všechny chyby.

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

Protokoly trasování neúspěšných požadavků můžete zobrazit v prohlížeči přímo přes FTP nebo místně po použití nástroje FTP ke stažení do místního počítače. V této části je zobrazíte přímo v prohlížeči.

  1. Na kartě Konfigurace okna webové aplikace Azure, které jste otevřeli z Průzkumníka serveru, změňte trasování neúspěšných požadavků na Zapnuto a potom klikněte na Uložit.

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

  2. Na panelu Adresa okna prohlížeče, které zobrazuje aplikaci, přidejte k adrese URL další znak a kliknutím na Enter vytvořte chybu 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 sadě Visual Studio na kartě Konfigurace okna webové aplikace Azure klikněte na Otevřít na portálu pro správu.

  4. Na stránce Nastavení webu Azure Portal pro vaši aplikaci 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 předponou názvu aplikace. 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í pod názvem hostitele FTP nebo názvem 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).

    Prohlížeč zobrazuje kořenovou složku aplikace.

  7. Otevřete složku LogFiles.

    Otevření složky LogFiles

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

    Otevření složky W3SVC

    Složka obsahuje soubory XML pro všechny chyby, které byly zaznamenány po povolení trasování neúspěšných požadavků, a soubor XSL, který prohlížeč můž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 usnadňuje zobrazení protokolů vytvořených aplikací App Service. Následující části obsahují odkazy na další zdroje informací o souvisejících tématech:

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

Řešení potíží se službou App Service

Další informace o řešení potíží s aplikacemi ve službě Aplikace Azure Najdete v následujících zdrojích informací:

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

Ladění v sadě Visual Studio

Další informace o používání režimu ladění v sadě Visual Studio naleznete v tématu Ladění v sadě Visual Studio a tipy pro ladění pomocí sady Visual Studio 2010.

Vzdálené ladění v Azure

Další informace o vzdáleném ladění aplikací služby App Service a webových úloh najdete v následujících zdrojích informací:

Pokud vaše aplikace používá back-end Azure Web API nebo Mobile Services a potřebujete ji ladit, přečtěte si téma Ladění back-endu .NET v sadě Visual Studio.

Trasování v aplikacích ASP.NET

Neexistují žádné důkladné a aktuální úvody k ASP.NET trasování dostupné na internetu. Nejlepší, co můžete udělat, je začít se starými úvodními materiály napsanými pro webové formuláře, protože MVC ještě neexistuje, a doplnit je o novější blogové příspěvky, které se zaměřují na konkrétní problémy. Mezi vhodná místa, kde začít, patří následující zdroje informací:

Pro protokolování chyb je alternativou k zápisu vlastního trasovacího kódu open source rozhraní protokolování, jako je ELMAH. Další informace najdete v blogových příspěvcích scotta Hanselmana o ELMAH.

K získání protokolů streamování z Azure také nemusíte používat ASP.NET ani System.Diagnostics trasování. Služba protokolu streamování aplikace App Service streamuje všechny .txt, .html nebo .log soubor, který najde ve složce LogFiles . Proto můžete vytvořit vlastní systém protokolování, který zapisuje do systému souborů aplikace a váš soubor se automaticky streamuje a stáhne. Stačí 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 Použití trasování neúspěšných požadavků, která může být užitečná pro 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, kterou nemůžete ve službě Aplikace Azure Service provádět.