Ř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í .
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.
V Průzkumníku serveru rozbalte Azure a rozbalte App Service.
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í.
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.
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 /:
Došlo k chybě:
Web nemůže stránku zobrazit.
Č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í.
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.
Rozbalte uzel Soubory a poklikejte na soubor Web.config.
Visual Studio otevře soubor Web.config ze vzdálené aplikace a vedle názvu souboru v záhlaví se zobrazí [Remote].
Do elementu
system.web
přidejte následující řádek:<customErrors mode="Off"></customErrors>
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:
(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.
Otevřete webový projekt, který jste vytvořili v části Vytvoření aplikace ASP.NET ve službě Aplikace Azure Service.
Otevřete Controllers\HomeController.cs.
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(); }
Nastavte zarážku na
ViewBag.Message
řádku.V Průzkumník řešení klikněte pravým tlačítkem myši na projekt a klikněte na Publikovat.
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í.
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.
Klikněte na Publikovat. Jakmile se nasazení dokončí a prohlížeč se otevře na adrese URL Azure vaší aplikace, zavřete prohlížeč.
V Průzkumníku serveru klikněte pravým tlačítkem na aplikaci a potom klikněte 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.
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.
Najeďte myší na proměnnou
currentTime
, aby se zobrazila časová hodnota.Č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č.
Zadejte novou hodnotu proměnné
currentTime
, například "Nyní běží v Azure".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.
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í.
Otevřete webový projekt, který jste vytvořili v části Začínáme se sadou Azure WebJobs SDK.
V projektu ContosoAdsWebJob otevřete Functions.cs.
Nastavte zarážku u prvního příkazu v
GenerateThumbnail
metodě.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.
V rozevíracím seznamu Profil vyberte stejný profil, který jste použili v části Začínáme se sadou Azure WebJobs SDK.
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.
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.
Klepněte na tlačítko 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í.
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.
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
.Pokračujte stisknutím klávesy F5.
Metoda
GenerateThumbnail
dokončí vytvoření miniatury.V prohlížeči aktualizujte indexovou stránku a zobrazí se miniatura.
V sadě Visual Studio zastavíte ladění stisknutím kombinace kláves SHIFT+F5.
V Průzkumníku serveru klikněte pravým tlačítkem myši na uzel ContosoAdsWebJob a klikněte na Zobrazit řídicí panel.
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.
Ří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.)
Kliknutím na název funkce zobrazíte podrobnosti o spuštění 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 nastavencompilation
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
Otevřete Controllers\HomeController.cs a nahraďte
Index
,About
aContact
metody následujícím kódem, aby bylo možné přidatTrace
příkazy ausing
příkaz proSystem.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(); }
using System.Diagnostics;
Na začátek souboru přidejte příkaz.
Zobrazení výstupu trasování místně
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.Následující kroky ukazují, jak zobrazit výstup trasování na webové stránce bez kompilace v režimu ladění.
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
.
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" />
Stiskněte klávesy CTRL+F5 a spusťte aplikaci.
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
).Na stránce Trasování aplikace klikněte na první řádek na zobrazit podrobnosti (ne na řádku BrowserLink).
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.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 elementutrace
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
V Průzkumník řešení klikněte pravým tlačítkem myši na webový projekt a klikněte na publikovat.
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í ).
V Průzkumníku serveru klikněte pravým tlačítkem na aplikaci a vyberte Zobrazit protokoly streamování.
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.
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 .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:
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.
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.
Změňte protokolování aplikace (systém souborů) na podrobné a klepněte na tlačítko Uložit.
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í.
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:
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.
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.
V okně Výstup klikněte na tlačítko Určit, které protokoly Microsoft Azure chcete monitorovat .
V dialogovém okně Možnosti protokolování Microsoft Azure vyberte protokoly webového serveru a klepněte na tlačítko OK.
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í.
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.
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.
V okně Výstup klikněte na tlačítko Určit, které protokoly Microsoft Azure chcete monitorovat .
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.
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.
Stisknutím klávesy Control a kliknutím na odkaz zobrazíte výstup protokolu formátovaný v prohlížeči:
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.
V okně Výstup klikněte na stáhnout protokoly streamování.
Průzkumník souborů se otevře Stáhne složku s vybraným staženým souborem.
Extrahujte soubor .zip a uvidíte následující strukturu složek:
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.
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.
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.
V sadě Visual Studio na kartě Konfigurace okna webové aplikace Azure klikněte na Otevřít na portálu pro správu.
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.
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".
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.
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.
Otevřete složku LogFiles.
Otevřete složku s názvem W3SVC a číselnou hodnotu.
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.
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.
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í:
- Jak monitorovat aplikace
- Zkoumání nevracení paměti ve službě Aplikace Azure pomocí sady Visual Studio 2013 Příspěvek na blogu Microsoft ALM o funkcích sady Visual Studio pro analýzu problémů se spravovanou pamětí
- Aplikace Azure Online nástroje služby, o kterých byste měli vědět. Blogový příspěvek od Amit Apple.
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:
- Fórum Azure na webu ASP.NET.
- Fórum Azure na webu Microsoft Q&A.
- StackOverflow.com.
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í:
- Úvod do vzdáleného ladění Aplikace Azure Service
- Úvod do vzdáleného ladění Aplikace Azure Service – část 2 – Vnitřní vzdálené ladění
- Úvod do vzdáleného ladění ve službě Aplikace Azure Service – část 3 – Prostředí s více instancemi a GIT
- Ladění webových úloh (video)
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í:
Monitorování a telemetrie (vytváření reálných cloudových aplikací pomocí Azure)
Kapitola elektronické knihy s doporučeními pro trasování v cloudových aplikacích Azuretrasování ASP.NET
Starý, ale stále dobrý zdroj pro základní úvod do předmětu.Moduly naslouchání trasování
Informace o naslouchacích procesech trasování, ale nezmiňují webPageTraceListener.Návod: Integrace trasování ASP.NET s trasováním System.Diagnostics
Tento článek je také starý, ale obsahuje některé další informace, které úvodní článek nepokrývá.Trasování v zobrazeních Razor Razor v ASP.NET MVC
Kromě trasování v zobrazeních Razor také vysvětluje, jak vytvořit filtr chyb, aby se v aplikaci MVC zaznamenávaly všechny neošetřené výjimky. Informace o tom, jak protokolovat všechny neošetřené výjimky v aplikaci Webové formuláře, naleznete v příkladu Global.asax v complete example for Error Handlers on MSDN. Pokud chcete v MVC nebo webových formulářích protokolovat určité výjimky, ale nechte pro ně platit výchozí zpracování architektury, můžete zachytit a znovu narůstat jako v následujícím příkladu:try { // Your code that might cause an exception to be thrown. } catch (Exception ex) { Trace.TraceError("Exception: " + ex.ToString()); throw; }
Protokolování trasování diagnostiky streamování z příkazového řádku Azure (plus Glimpse!)
Jak použít příkazový řádek k provedení tohoto kurzu ukazuje, jak dělat v sadě Visual Studio. Glimpse je nástroj pro ladění ASP.NET aplikací.Použití protokolování a diagnostiky webových aplikací – s Davidem Ebbo a protokoly streamování z Webových aplikací – s Davidem Ebbo
Videa Scotta Hanselmana a Davida Ebba.
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í:
- LogParser
Nástroj pro zobrazení dat v protokolech webového serveru (.log soubory). - Řešení potíží s výkonem služby IIS nebo chyb aplikací pomocí LogParseru
Úvod do nástroje Log Parser, který můžete použít k analýze protokolů webového serveru. - Blogové příspěvky od Robert McMurray o používání LogParser
- Stavový kód HTTP ve službě IIS 7.0, IIS 7.5 a IIS 8.0
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.