Alkalmazás hibaelhárítása a Azure-alkalmazás Service-ben a Visual Studióval

Áttekintés

Ez az oktatóanyag bemutatja, hogyan segíthet a Visual Studio eszközeivel az appok hibakeresésében az App Service-ben, távolról futtatva hibakeresési módban, illetve az alkalmazásnaplók és a webkiszolgálói naplók megtekintésével.

Az oktatóanyagból a következőket sajátíthatja el:

  • Mely alkalmazáskezelési függvények érhetők el a Visual Studióban.
  • A Visual Studio távoli nézetének használata a távoli alkalmazások gyors módosításához.
  • Hibakeresési mód távoli futtatása, miközben egy projekt fut az Azure-ban, alkalmazáshoz és WebJobhoz egyaránt.
  • Alkalmazáskövetési naplók létrehozása és megtekintése az alkalmazás létrehozása közben.
  • Webkiszolgáló-naplók megtekintése, beleértve a részletes hibaüzeneteket és a sikertelen kérések nyomon követését.
  • Diagnosztikai naplók küldése egy Azure Storage-fiókba, és azok megtekintése ott.

Ha rendelkezik Visual Studio Ultimate-sel, az IntelliTrace-et is használhatja a hibakereséshez. Az IntelliTrace-ről ebben az oktatóanyagban nem foglalkozunk.

Előfeltételek

Ez az oktatóanyag a Azure-alkalmazás Service-ASP.NET ben beállított fejlesztési környezettel, webes projekttel és App Service-alkalmazással működik. A WebJobs-szakaszokhoz szüksége lesz az Azure WebJobs SDK első lépéseiben létrehozott alkalmazásra.

Az oktatóanyagban bemutatott kódminták egy C# MVC-webalkalmazáshoz tartoznak, de a hibaelhárítási eljárások megegyeznek a Visual Basic és a Web Forms-alkalmazások esetében.

Az oktatóanyag feltételezi, hogy a Visual Studio 2019-et használja.

A streamelési naplók funkció csak a 4-.NET-keretrendszer vagy újabb verziójú alkalmazásokat célozza.

Alkalmazáskonfiguráció és -kezelés

A Visual Studio hozzáférést biztosít az Azure Portalon elérhető alkalmazáskezelési függvények és konfigurációs beállítások egy részhalmazához. Ebben a szakaszban láthatja, hogy mi érhető el a Kiszolgálókezelővel. A legújabb Azure-integrációs funkciók megtekintéséhez próbálja ki a Cloud Explorert is. Mindkét ablakot megnyithatja a Nézet menüből.

  1. Ha még nem jelentkezett be az Azure-ba a Visual Studióban, kattintson a jobb gombbal az Azure-ra, és válassza Csatlakozás a Microsoft Azure-előfizetésheza Server Explorerben.

    Másik lehetőségként olyan felügyeleti tanúsítványt telepíthet, amely lehetővé teszi a fiókhoz való hozzáférést. Ha tanúsítvány telepítése mellett dönt, kattintson a jobb gombbal az Azure-csomópontra a Kiszolgálókezelőben, majd válassza az Előfizetések kezelése és szűrése lehetőséget a helyi menüben. A Microsoft Azure-előfizetések kezelése párbeszédpanelen kattintson a Tanúsítványok fülre, majd az Importálás parancsra. Kövesse az utasításokat az Azure-fiók előfizetési fájljának (más néven .publishsettings-fájl ) letöltéséhez és importálásához.

    Megjegyzés:

    Ha letölt egy előfizetési fájlt, mentse azt a forráskódkönyvtárakon kívüli mappába (például a Letöltések mappába), majd törölje azt az importálás befejezése után. Az előfizetési fájlhoz hozzáférést kapó rosszindulatú felhasználók szerkeszthetik, létrehozhatják és törölhetik az Azure-szolgáltatásokat.

    További információ az Azure-erőforrások Visual Studióból való csatlakoztatásáról: Azure-szerepkörök hozzárendelése az Azure Portal használatával.

  2. A Server Explorerben bontsa ki az Azure-t, és bontsa ki az App Service-t.

  3. Bontsa ki azt az erőforráscsoportot, amely az Azure-alkalmazás Szolgáltatásban létrehozott ASP.NET alkalmazásban létrehozott alkalmazást tartalmazza, majd kattintson a jobb gombbal az alkalmazáscsomópontra, és válassza a Nézet Gépház parancsot.

    View Settings in Server Explorer

    Megjelenik az Azure Web App lap, és itt láthatja a Visual Studióban elérhető alkalmazáskezelési és konfigurációs feladatokat.

    Azure Web App window

    Ebben az oktatóanyagban a naplózási és nyomkövetési legördülő listákat fogja használni. A távoli hibakeresést is használni fogja, de más módszert fog használni az engedélyezéséhez.

    Az ablak App Gépház és Csatlakozás ion Sztringek mezőiről a Azure-alkalmazás Szolgáltatás: Az alkalmazássztringek és a Csatlakozás ion-sztringek működése című témakörben talál további információt.

    Ha olyan alkalmazásfelügyeleti feladatot szeretne végrehajtani, amelyet ebben az ablakban nem lehet elvégezni, kattintson a Megnyitás a felügyeleti portálon lehetőségre egy böngészőablak megnyitásához az Azure Portalon.

Alkalmazásfájlok elérése a Kiszolgálókezelőben

Általában a Web.config fájlban OnRemoteOnlylévő jelölővel rendelkező customErrors webes projektet helyez üzembe, ami azt jelenti, hogy nem kap hasznos hibaüzenetet, ha valami hiba történik. Sok hiba esetén csak az alábbihoz hasonló lap jelenik meg:

Kiszolgálóhiba a(z) "/" alkalmazásban:

Screenshot showing a Server Error in '/' Application error in a web browser.

Hiba történt:

Screenshot showing an example of a generic error occurring in a web browser.

A webhely nem tudja megjeleníteni a lapot

Screenshot showing a message that reads **The website cannot display the page error in a web browser**.

A hiba okának megkeresésére gyakran a legegyszerűbben a részletes hibaüzenetek engedélyezése a legegyszerűbb, amelyet az előző képernyőképek közül az első ismerteti. Ehhez módosítani kell az üzembe helyezett Web.config fájlt. Szerkesztheti a Web.config fájlt a projektben, és újra üzembe helyezheti a projektet, vagy létrehozhat egy átalakítást Web.config és üzembe helyezhet egy hibakeresési buildet, de van egy gyorsabb módja is: Megoldáskezelő a távoli alkalmazásban közvetlenül megtekintheti és szerkesztheti a fájlokat a távoli nézet funkcióval.

  1. A Server Explorerben bontsa ki az Azure-t, bontsa ki az App Service-t, bontsa ki az alkalmazás erőforráscsoportját, majd bontsa ki az alkalmazás csomópontját.

    Olyan csomópontok láthatók, amelyek hozzáférést biztosítanak az alkalmazás tartalomfájljaihoz és naplófájljaihoz.

  2. Bontsa ki a Fájlok csomópontot, és kattintson duplán a Web.config fájlra .

    Open Web.config

    A Visual Studio megnyitja a Web.config fájlt a távoli alkalmazásból, és a címsorban a fájl neve mellett a [Távoli] felirat látható.

  3. Adja hozzá a következő sort az system.web elemhez:

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

    Edit Web.config

  4. Frissítse a nem hasznos hibaüzenetet megjelenítő böngészőt, és most egy részletes hibaüzenet jelenik meg, például az alábbi példában:

    Detailed error message

    (A megjelenő hiba úgy lett létrehozva, hogy hozzáadta a pirossal Views\Home\Index.cshtml.)

A Web.config fájl szerkesztése csak egy példa azokra a forgatókönyvekre, amelyekben az App Service-alkalmazás fájljainak olvasása és szerkesztése egyszerűbbé teszi a hibaelhárítást.

Távoli hibakeresési alkalmazások

Ha a részletes hibaüzenet nem nyújt elegendő információt, és nem tudja helyileg újra létrehozni a hibát, a hibaelhárítás másik módja a hibakeresési módban történő távoli futtatás. Töréspontokat állíthat be, közvetlenül módosíthatja a memóriát, lépegethet a kódon, és akár módosíthatja is a kód elérési útját.

A távoli hibakeresés nem működik a Visual Studio Express-kiadásaiban.

Ez a szakasz bemutatja, hogyan végezhet távolról hibakeresést a ASP.NET-alkalmazás létrehozása a Azure-alkalmazás Szolgáltatásban létrehozott projekt használatával.

  1. Nyissa meg a ASP.NET-alkalmazás létrehozása a Azure-alkalmazás Szolgáltatásban létrehozott webes projektet.

  2. Open Controllers\HomeController.cs.

  3. Törölje a metódust About() , és szúrja be a következő kódot a helyére.

    public ActionResult About()
    {
        string currentTime = DateTime.Now.ToLongTimeString();
        ViewBag.Message = "The current time is " + currentTime;
        return View();
    }
    
  4. Állítson be egy töréspontot a ViewBag.Message vonalon.

  5. A Megoldáskezelő kattintson a jobb gombbal a projektre, és válassza a Közzététel parancsot.

  6. A Profil legördülő listában válassza ki ugyanazt a profilt, amelyet a ASP.NET-alkalmazás létrehozása a Azure-alkalmazás Szolgáltatásban használt. Ezután kattintson a Gépház.

  7. A Közzététel párbeszédpanelen kattintson a Gépház fülre, majd módosítsa a Konfigurációt hibakeresésre, majd kattintson a Mentés gombra.

    Publish in debug mode

  8. Kattintson a Közzététel gombra. Miután az üzembe helyezés befejeződött, és a böngésző megnyílik az alkalmazás Azure URL-címére, zárja be a böngészőt.

  9. A Kiszolgálókezelőben kattintson a jobb gombbal az alkalmazásra, majd kattintson a Hibakereső csatolása parancsra.

    Screenshot of the Server Explorer window showing an app selected and then clicking Attach Debugger.

    A böngésző automatikusan megnyílik az Azure-ban futó kezdőlapon. Előfordulhat, hogy várnia kell 20 másodpercet, amíg az Azure beállítja a kiszolgálót a hibakereséshez. Ez a késleltetés csak akkor fordul elő, amikor először futtat hibakeresési módban egy alkalmazást egy 48 órás időszakban. Amikor ugyanabban az időszakban újra elkezdi a hibakeresést, nincs késés.

    Megjegyzés:

    Ha probléma merül fel a hibakereső indításakor, próbálja meg a Cloud Explorert használni a Kiszolgálókezelő helyett.

  10. Kattintson a Névjegy gombra a menüben.

    A Visual Studio leáll a törésponton, és a kód az Azure-ban fut, nem a helyi számítógépen.

  11. Vigye az egérmutatót a változó fölé az currentTime időérték megtekintéséhez.

    View variable in debug mode running in Azure

    A megjelenő idő az Azure-kiszolgáló ideje, amely a helyi számítógépétől eltérő időzónában lehet.

  12. Adjon meg egy új értéket a currentTime változóhoz, például :"Most fut az Azure-ban".

  13. A folytatáshoz nyomja le az F5 billentyűt.

    Az Azure-ban futó Névjegy lap megjeleníti az aktuálisTime változóba beírt új értéket.

    About page with new value

Remote debugging WebJobs

Ez a szakasz bemutatja, hogyan végezhet távolról hibakeresést az Azure WebJobs SDK első lépéseiben létrehozott projekt és alkalmazás használatával.

Az ebben a szakaszban látható funkciók csak a Visual Studio 2013 4-es vagy újabb frissítésével érhetők el.

A távoli hibakeresés csak folyamatos WebJobs-feladatokkal működik. Az ütemezett és igény szerinti WebJobs-feladatok nem támogatják a hibakeresést.

  1. Nyissa meg az Azure WebJobs SDK első lépéseiben létrehozott webes projektet.

  2. A ContosoAdsWebJob projektben nyissa meg a Functions.cs fájlt.

  3. Állítson be töréspontot a metódus első utasítására GenerateThumbnail .

    Set breakpoint

  4. A Megoldáskezelő kattintson a jobb gombbal a webes projektre (nem a WebJob-projektre), majd kattintson a Közzététel parancsra.

  5. A Profil legördülő listában válassza ki ugyanazt a profilt, amelyet az Azure WebJobs SDK használatának első lépéseiben használt.

  6. Kattintson a Gépház fülre, és módosítsa a konfigurációt hibakeresésre, majd kattintson a Közzététel gombra.

    A Visual Studio üzembe helyezi a webes és a WebJob-projekteket, és a böngésző megnyílik az alkalmazás Azure URL-címére.

  7. A Server Explorerben bontsa ki az Azure > App Service-t > az alkalmazás > WebJobs > Continuous erőforráscsoportjában>, majd kattintson a jobb gombbal a ContosoAdsWebJob parancsra.

  8. Kattintson a Hibakereső csatolása elemre.

    Screenshot of Server Explorer showing ContosoAdsWebJob selected in the drop-down menu and Attach Debugger selected.

    A böngésző automatikusan megnyílik az Azure-ban futó kezdőlapon. Előfordulhat, hogy várnia kell 20 másodpercet, amíg az Azure beállítja a kiszolgálót a hibakereséshez. Ez a késleltetés csak akkor fordul elő, amikor először futtat hibakeresési módban egy alkalmazást egy 48 órás időszakban. Amikor ugyanabban az időszakban újra elkezdi a hibakeresést, nincs késés.

  9. A Contoso Ads kezdőlapjára megnyitott webböngészőben hozzon létre egy új hirdetést.

    A hirdetés létrehozása során létrejön egy üzenetsor üzenete, amelyet a WebJob felvesz és feldolgoz. Amikor a WebJobs SDK meghívja a függvényt az üzenetsor feldolgozására, a kód eléri a töréspontot.

  10. Amikor a hibakereső megszakítja a töréspontot, megvizsgálhatja és módosíthatja a változó értékeket, miközben a program a felhőt futtatja. Az alábbi ábrán a hibakereső a metódusnak átadott blobInfo objektum tartalmát jeleníti meg GenerateThumbnail .

    blobInfo object in debugger

  11. A folytatáshoz nyomja le az F5 billentyűt.

    A GenerateThumbnail metódus befejezi a miniatűr létrehozását.

  12. A böngészőben frissítse az Index lapot, és megjelenik a miniatűr.

  13. A Visual Studióban nyomja le a SHIFT+F5 billentyűkombinációt a hibakeresés leállításához.

  14. A Kiszolgálókezelőben kattintson a jobb gombbal a ContosoAdsWebJob csomópontra, és válassza az Irányítópult megtekintése parancsot.

  15. Jelentkezzen be azure-beli hitelesítő adataival, majd a WebJob nevére kattintva lépjen a WebJob lapjára.

    Click ContosoAdsWebJob

    Az irányítópulton látható, hogy a GenerateThumbnail függvény a közelmúltban volt végrehajtva.

    (A következő kattintáskor Irányítópult megtekintése, nem kell bejelentkeznie, és a böngésző közvetlenül a WebJob lapjára kerül.)

  16. A függvény nevére kattintva megtekintheti a függvény végrehajtásának részleteit.

    Function details

Ha a függvény naplókat írt, a ToggleOutput gombra kattintva megtekintheti őket.

Notes about remote debugging

  • Nem ajánlott hibakeresési módban futni éles környezetben. Ha az éles alkalmazás nincs több kiszolgálópéldányra skálázva, a hibakeresés megakadályozza, hogy a webkiszolgáló válaszoljon más kérésekre. Ha több webkiszolgáló-példányt is használ, a hibakeresőhöz csatolva véletlenszerű példányt kap, és nem tudja biztosítani, hogy a későbbi böngészőkérések ugyanarra a példányra jussanak. Emellett általában nem helyez üzembe hibakeresési buildet az éles környezetben, és a kiadási buildek fordítóoptimalizálásával lehetetlenné válhat, hogy sorról sorra jelenjenek meg a forráskódban zajló események. Az éles problémák elhárításához a legjobb erőforrás az alkalmazáskövetés és a webkiszolgálói naplók.

  • Távoli hibakeresés esetén kerülje a töréspontok hosszú leállását. Az Azure a néhány percnél hosszabb ideig leállított folyamatot nem válaszoló folyamatként kezeli, és leállítja.

  • A hibakeresés során a kiszolgáló adatokat küld a Visual Studióba, ami hatással lehet a sávszélesség díjaira. A sávszélesség-díjszabással kapcsolatos információkért tekintse meg az Azure díjszabását.

  • Győződjön meg arról, hogy a debugcompilation Web.config fájlban lévő elem attribútuma igaz értékre van állítva. Alapértelmezés szerint igaz értékre van állítva hibakeresési buildkonfiguráció közzétételekor.

    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    
  • Ha úgy találja, hogy a hibakereső nem lép a hibakereséshez használni kívánt kódba, előfordulhat, hogy módosítania kell a Just My Code beállítást. További információ: Adja meg, hogy csak a Felhasználói kód hibakeresése a Visual Studióban a Just My Code használatával történik-e.

  • A távoli hibakeresési funkció engedélyezésekor egy időzítő indul el a kiszolgálón, és 48 óra elteltével a szolgáltatás automatikusan ki van kapcsolva. Ez a 48 órás korlát biztonsági és teljesítménybeli okokból történik. A funkció egyszerűen bekapcsolható, akárhányszor is. Javasoljuk, hogy hagyja letiltva, ha nem végez aktív hibakeresést.

  • A hibakeresőt manuálisan bármely folyamathoz csatolhatja, nem csak az alkalmazásfolyamathoz (w3wp.exe). A hibakeresési mód Visual Studióban való használatáról további információt a Visual Studióban végzett hibakeresés című témakörben talál.

Diagnosztikai naplók áttekintése

Az App Service-alkalmazásban futó ASP.NET alkalmazások a következő típusú naplókat hozhatják létre:

  • Alkalmazáskövetési naplók
    Az alkalmazás a System.Diagnostics.Trace osztály metódusainak meghívásával hozza létre ezeket a naplókat.
  • Webkiszolgálói naplók
    A webkiszolgáló létrehoz egy naplóbejegyzést az alkalmazásnak küldött MINDEN HTTP-kéréshez.
  • Részletes hibaüzenet-naplók
    A webkiszolgáló létrehoz egy HTML-lapot, amely további információkat tartalmaz a sikertelen HTTP-kérelmekről (a 400-ás vagy újabb állapotkódot eredményező kérések).
  • Sikertelen kéréskövetési naplók
    A webkiszolgáló létrehoz egy XML-fájlt, amely részletes nyomkövetési információkat tartalmaz a sikertelen HTTP-kérelmekhez. A webkiszolgáló egy XSL-fájlt is biztosít az XML böngészőben való formázásához.

A naplózás hatással van az alkalmazások teljesítményére, így az Azure lehetővé teszi az egyes naplótípusok szükség szerinti engedélyezését vagy letiltását. Alkalmazásnaplók esetében megadhatja, hogy csak bizonyos súlyossági szint feletti naplókat kell írni. Új alkalmazás létrehozásakor alapértelmezés szerint minden naplózás le van tiltva.

A naplók az alkalmazás fájlrendszerében található LogFiles mappában lévő fájlokba vannak írva, és FTP-en keresztül érhetők el. A webkiszolgálói naplók és az alkalmazásnaplók egy Azure Storage-fiókba is írhatók. A tárfiókokban nagyobb mennyiségű naplót őrizhet meg, mint a fájlrendszerben. A fájlrendszer használatakor legfeljebb 100 megabájtnyi naplót használhat. (A fájlrendszer naplói csak rövid távú megőrzésre használhatók. Az Azure törli a régi naplófájlokat, hogy helyet biztosítsunk az újaknak a korlát elérése után.)

Alkalmazáskövetési naplók létrehozása és megtekintése

Ebben a szakaszban a következő feladatokat hajtja végre:

  • Nyomkövetési utasítások hozzáadása az Azure-ban és ASP.NET létrehozott webes projekthez.
  • A naplók megtekintése a projekt helyi futtatásakor.
  • Tekintse meg a naplókat, ahogy azOkat az Azure-ban futó alkalmazás hozza létre.

További információ az alkalmazásnaplók WebJobsban való létrehozásáról: Hogyan használható az Azure Queue Storage a WebJobs SDK használatával – Naplók írása. A naplók megtekintésére és az Azure-ban való tárolásuk szabályozására vonatkozó alábbi utasítások a WebJobs által létrehozott alkalmazásnaplókra is vonatkoznak.

Nyomkövetési utasítások hozzáadása az alkalmazáshoz

  1. Nyissa meg a Controllers\HomeController.cs fájlt, és cserélje le a Index, Aboutés Contact metódusokat a következő kódra, hogy utasításokat és utasítást using adjon hozzá Trace a következőhözSystem.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. Adjon hozzá egy utasítást using System.Diagnostics; a fájl tetejére.

A nyomkövetési kimenet helyi megtekintése

  1. Nyomja le az F5 billentyűt az alkalmazás hibakeresési módban való futtatásához.

    Az alapértelmezett nyomkövetési figyelő az összes nyomkövetési kimenetet a Kimenet ablakba írja, a többi hibakeresési kimenettel együtt. Az alábbi ábrán a metódushoz hozzáadott nyomkövetési utasítások kimenete Index látható.

    Tracing in Debug window

    Az alábbi lépések bemutatják, hogyan tekintheti meg a nyomkövetési kimenetet egy weblapon, hibakeresési módban történő fordítás nélkül.

  2. Nyissa meg az application Web.config fájlt (amely a projektmappában található), és adjon hozzá egy <system.diagnostics> elemet a fájl végén, a záró </configuration> elem előtt:

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

Ez WebPageTraceListener lehetővé teszi a nyomkövetési kimenet megtekintését /trace.axda következőre való tallózással: .

  1. Adjon hozzá egy nyomkövetési elemet a Web.config fájlban <system.web> , például a következő példát:

    <trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
    
  2. Az alkalmazás futtatásához nyomja le a Ctrl+F5 billentyűkombinációt.

  3. A böngészőablak címsorában adja hozzá a trace.axd elemet az URL-címhez, majd nyomja le az Enter billentyűt (az URL hasonló).http://localhost:53370/trace.axd

  4. Az Alkalmazáskövetés lapon kattintson a Részletek megtekintése elemre az első sorban (nem a BrowserLink sorban).

    Screenshot of the Application Trace page in a web browser showing View Details selected on the first line.

    Megjelenik a Kérelem részletei lap, és a Nyomkövetési információk szakaszban láthatja a metódushoz hozzáadott nyomkövetési utasítások kimenetétIndex.

    Screenshot of the Request Details page in a web browser showing a message highlighted in the Trace Information section.

    Alapértelmezés szerint trace.axd csak helyileg érhető el. Ha távoli alkalmazásból szeretné elérhetővé tenni, hozzáadhatja localOnly="false" a traceWeb.config fájl eleméhez, ahogyan az alábbi példában látható:

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

    Az éles alkalmazásokban való engedélyezés trace.axd azonban biztonsági okokból nem ajánlott. A következő szakaszokban könnyebben olvashat nyomkövetési naplókat egy App Service-alkalmazásban.

A nyomkövetési kimenet megtekintése az Azure-ban

  1. A Megoldáskezelő kattintson a jobb gombbal a webes projektre, és válassza a Közzététel parancsot.

  2. A Webes közzététel párbeszédpanelen kattintson a Közzététel gombra.

    Miután a Visual Studio közzétette a frissítést, megnyit egy böngészőablakot a kezdőlapon (feltéve, hogy nem törölte a cél URL-címét a Csatlakozás ion lapon).

  3. A Kiszolgálókezelőben kattintson a jobb gombbal az alkalmazásra, és válassza a Streamnaplók megtekintése lehetőséget.

    Screenshot of Server Explorer after right-clicking your app, with View Streaming Logs selected in a new window.

    A Kimeneti ablak azt mutatja, hogy csatlakozik a naplóstreamelési szolgáltatáshoz, és percenként hozzáad egy értesítési sort, amely nem jelenik meg napló nélkül.

    Screenshot of the Output window showing an example of a connection to a log-streaming service with notification lines.

  4. Az alkalmazás kezdőlapját megjelenítő böngészőablakban kattintson a Partner gombra.

    Néhány másodpercen belül a metódushoz Contact hozzáadott hibaszintű nyomkövetés kimenete megjelenik a Kimenet ablakban.

    Error trace in Output window

    A Visual Studio csak hibaszintű nyomkövetéseket jelenít meg, mert ez az alapértelmezett beállítás a naplómonitorozási szolgáltatás engedélyezésekor. Új App Service-alkalmazás létrehozásakor alapértelmezés szerint minden naplózás le van tiltva, amint azt a beállítások lap korábbi megnyitásakor látta:

    Application Logging off

    Amikor azonban a Streamelési naplók megtekintése lehetőséget választotta, a Visual Studio automatikusan hiba értékre módosította az alkalmazásnaplózást (fájlrendszer), ami azt jelenti, hogy hibaszintű naplók lesznek jelentve. Az összes nyomkövetési napló megtekintéséhez ezt a beállítást részletesre módosíthatja. Ha a hibanál alacsonyabb súlyossági szintet választ ki, a rendszer a magasabb súlyossági szintekhez tartozó összes naplót is jelenti. Ha tehát részletes választ, az információk, a figyelmeztetések és a hibanaplók is megjelennek.

  5. A Kiszolgálókezelőben kattintson a jobb gombbal az alkalmazásra, majd kattintson a Nézet Gépház elemre, ahogy korábban tette.

  6. Módosítsa az alkalmazásnaplózást (fájlrendszer) részletesre, majd kattintson a Mentés gombra.

    Setting trace level to Verbose

  7. A partneroldalt megjelenítő böngészőablakban kattintson a Kezdőlap gombra, majd a Névjegy gombra, majd a Névjegy gombra.

    A Kimeneti ablak néhány másodpercen belül megjeleníti az összes nyomkövetési kimenetet.

    Verbose trace output

    Ebben a szakaszban engedélyezte és letiltotta a naplózást az alkalmazásbeállítások használatával. A nyomkövetési figyelőket a Web.config fájl módosításával is engedélyezheti és letilthatja. A Web.config fájl módosítása azonban az alkalmazás tartományának újrahasznosítását eredményezi, miközben az alkalmazáskonfiguráción keresztüli naplózás engedélyezése nem teszi ezt meg. Ha a probléma reprodukálása vagy időszakos használata hosszú időt vesz igénybe, előfordulhat, hogy az alkalmazástartomány újrahasznosítása "kijavítja" azt, és arra kényszeríti, hogy várjon, amíg újra megtörténik. Az Azure-beli diagnosztika lehetővé teszi a hibainformációk azonnali rögzítését az alkalmazástartomány újrahasznosítása nélkül.

Kimeneti ablak funkciói

A Kimeneti ablak Microsoft Azure-naplók lapján számos gomb és szövegmező található:

Screenshot showing the buttons and text box of the Microsoft Azure Logs tab in the Output window.

Ezek a következő funkciókat hajtják végre:

  • Törölje a Kimeneti ablak jelölését.
  • Szótörés engedélyezése vagy letiltása.
  • A naplók figyelésének indítása vagy leállítása.
  • Adja meg, hogy mely naplókat kell figyelni.
  • Naplók letöltése.
  • Naplók szűrése keresési sztring vagy reguláris kifejezés alapján.
  • Zárja be a Kimenet ablakot.

Ha keresési sztringet vagy reguláris kifejezést ad meg, a Visual Studio szűri az ügyfél naplózási adatait. Ez azt jelenti, hogy megadhatja a feltételeket, miután a naplók megjelennek a Kimeneti ablakban, és anélkül módosíthatja a szűrési feltételeket, hogy újra kellene létrehoznia a naplókat.

Webkiszolgálói naplók megtekintése

A webkiszolgáló naplói az alkalmazás összes HTTP-tevékenységét rögzítik. Ahhoz, hogy megjelenjenek a Kimenet ablakban, engedélyeznie kell őket az alkalmazás számára, és meg kell mondania a Visual Studiónak, hogy figyelni szeretné őket.

  1. A Kiszolgálókezelőből megnyitott Azure Web App Configuration lapon módosítsa a webkiszolgáló naplózását Be gombra, majd kattintson a Mentés gombra.

    Enable web server logging

  2. A Kimeneti ablakban kattintson a Monitorozni kívánt Microsoft Azure-naplók megadása gombra.

    Specify which Azure logs to monitor

  3. A Microsoft Azure naplózási beállításai párbeszédpanelen válassza ki a webkiszolgálói naplókat, majd kattintson az OK gombra.

    Monitor web server logs

  4. Az alkalmazást megjelenítő böngészőablakban kattintson a Kezdőlap, majd a Névjegy, majd a Névjegy gombra.

    Általában az alkalmazásnaplók jelennek meg először, majd a webkiszolgáló naplói. Előfordulhat, hogy várnia kell egy ideig, amíg a naplók megjelennek.

    Web server logs in Output window

Ha először engedélyezi a webkiszolgálói naplókat a Visual Studióval, az Azure alapértelmezés szerint a fájlrendszerbe írja a naplókat. Alternatív megoldásként az Azure Portal használatával megadhatja, hogy a webkiszolgálói naplókat egy tárfiók blobtárolójába kell írni.

Ha a portálon engedélyezi a webkiszolgálók azure-tárfiókba való naplózását, majd letiltja a naplózást a Visual Studióban, amikor újra engedélyezi a naplózást a Visual Studióban, a tárfiók beállításai visszaállítódnak.

Részletes hibaüzenetnaplók megtekintése

A részletes hibanaplók további információt nyújtanak a HTTP-kérelmekről, amelyek hibaválaszkódokat eredményeznek (400 vagy újabb). Ahhoz, hogy megjelenjenek a Kimenet ablakban, engedélyeznie kell őket az alkalmazáshoz, és meg kell adnia a Visual Studiónak, hogy figyelni szeretné őket.

  1. A Kiszolgálókezelőből megnyitott Azure Web App Configuration lapon módosítsa a Részletes hibaüzenetek beállítást Be gombra, majd kattintson a Mentés gombra.

    Enable detailed error messages

  2. A Kimeneti ablakban kattintson a Monitorozni kívánt Microsoft Azure-naplók megadása gombra.

  3. A Microsoft Azure naplózási beállításai párbeszédpanelen kattintson az Összes napló, majd az OK gombra.

    Monitor all logs

  4. A böngészőablak címsorában adjon hozzá egy további karaktert az URL-címhez, amely 404-es hibát okoz (például http://localhost:53370/Home/Contactx), majd nyomja le az Enter billentyűt.

    Néhány másodperc elteltével megjelenik a részletes hibanapló a Visual Studio Kimenet ablakában.

    Detailed error log - Output window

    Control+click the link to see the log output formatted in a browser:

    Detailed error log - browser window

Fájlrendszernaplók letöltése

A Kimeneti ablakban figyelhető naplók .zip fájlként is letölthetők.

  1. A Kimenet ablakban kattintson a Streamelési naplók letöltése elemre.

    Screenshot of the Output window showing the Download Streaming Logs button highlighted.

    Fájlkezelő megnyílik a Letölti a letöltött fájlt tartalmazó mappát.

    Screenshot of the Downloads folder in File Explorer with a downloaded file selected.

  2. Bontsa ki a .zip fájlt, és a következő mappaszerkezet jelenik meg:

    Screenshot of the .zip file folder structure after the file has been extracted.

    • Az alkalmazáskövetési naplók a LogFiles\Application mappában lévő .txt fájlokban találhatók.

    • A webkiszolgálói naplók a LogFiles\http\RawLogs mappában lévő .log fájlokban találhatók. A fájlok megtekintéséhez és kezeléséhez használhat olyan eszközt, mint a Log Parser .

    • A részletes hibaüzenet-naplók .html fájlokban találhatók a LogFiles\DetailedErrors mappában.

      (Az üzembe helyezési mappa a forrásvezérlő közzétételével létrehozott fájlokhoz készült, és nem rendelkezik a Visual Studio közzétételével kapcsolatos semmivel. A Git mappa a forráskövetési közzétételhez és a naplófájl-streamelési szolgáltatáshoz kapcsolódó nyomkövetésekhez készült.)

Sikertelen kéréskövetési naplók megtekintése

A sikertelen kérelmek nyomkövetési naplói akkor hasznosak, ha tisztában kell lenni azzal, hogy az IIS hogyan kezeli a HTTP-kéréseket olyan esetekben, mint az URL-újraírás vagy a hitelesítési problémák.

Az App Service-alkalmazások ugyanazt a sikertelen kéréskövetési funkciót használják, amely az IIS 7.0-s és újabb verzióiban érhető el. Nem rendelkezik hozzáféréssel azokhoz az IIS-beállításokhoz, amelyek konfigurálják, hogy mely hibák naplózása történik. Ha engedélyezi a sikertelen kérések nyomkövetését, a rendszer minden hibát rögzít.

A sikertelen kérelmek nyomon követését a Visual Studióval engedélyezheti, de a Visual Studióban nem tekintheti meg őket. Ezek a naplók XML-fájlok. A streamelési naplószolgáltatás csak az egyszerű szöveges módban olvashatónak ítélt fájlokat figyeli: .txt, .html és .log fájlok.

A sikertelen kérések nyomkövetési naplóit közvetlenül FTP-en vagy helyileg tekintheti meg, miután ftp-eszközzel letöltötte őket a helyi számítógépre. Ebben a szakaszban közvetlenül egy böngészőben tekintheti meg őket.

  1. A Kiszolgálókezelőből megnyitott Azure Web App ablak Konfiguráció lapján módosítsa a Sikertelen kérelmek nyomkövetése beállítást bekapcsolva, majd kattintson a Mentés gombra.

    Enable failed request tracing

  2. Az alkalmazást megjelenítő böngészőablak címsorában adjon hozzá egy további karaktert az URL-címhez, és kattintson az Enter gombra a 404-et okozó hiba okához.

    Ez egy sikertelen kéréskövetési napló létrehozását eredményezi, és az alábbi lépések bemutatják, hogyan tekintheti meg vagy töltheti le a naplót.

  3. A Visual Studióban az Azure Web App ablak Konfiguráció lapján kattintson a Megnyitás a felügyeleti portálon elemre.

  4. Az Azure Portalon Gépház az alkalmazás oldalán kattintson az Üzembehelyezési hitelesítő adatok elemre, majd adjon meg egy új felhasználónevet és jelszót.

    New FTP user name and password

    Megjegyzés:

    Amikor bejelentkezik, a teljes felhasználónevet kell használnia az alkalmazás előtagjával. Ha például a "myid" nevet adja meg felhasználónévként, és a webhely "myexample", akkor "myexample\myid" néven jelentkezik be.

  5. Egy új böngészőablakban nyissa meg az ALKALMAZÁS Áttekintés lapján az FTP-állomásnév vagy FTPS-állomásnévalatt megjelenő URL-címet.

  6. Jelentkezzen be a korábban létrehozott FTP-hitelesítő adatokkal (beleértve a felhasználónév alkalmazásnév előtagját).

    A böngésző megjeleníti az alkalmazás gyökérmappáját.

  7. Nyissa meg a LogFiles mappát.

    Open LogFiles folder

  8. Nyissa meg a W3SVC nevű mappát és egy numerikus értéket.

    Open W3SVC folder

    A mappa XML-fájlokat tartalmaz a sikertelen kérelemkövetés engedélyezése után naplózott hibákhoz, valamint egy XSL-fájlt, amellyel a böngésző formázhatja az XML-t.

    W3SVC folder

  9. Kattintson arra a sikertelen kérelemre vonatkozó XML-fájlra, amelyhez nyomkövetési információkat szeretne látni.

    Az alábbi ábrán egy mintahiba nyomkövetési információinak egy része látható.

    Failed request tracing in browser

Következő lépések

Láthatta, hogy a Visual Studio megkönnyíti az App Service-alkalmazás által létrehozott naplók megtekintését. Az alábbi szakaszok további, kapcsolódó témakörökhöz kapcsolódó forrásokra mutató hivatkozásokat tartalmaznak:

  • Az App Service hibaelhárítása
  • Hibakeresés a Visual Studióban
  • Távoli hibakeresés az Azure-ban
  • Nyomkövetés ASP.NET alkalmazásokban
  • Webkiszolgálói naplók elemzése
  • Sikertelen kéréskövetési naplók elemzése
  • Cloud Services hibakeresése

Az App Service hibaelhárítása

A Azure-alkalmazás Service-ben található alkalmazások hibaelhárításával kapcsolatos további információkért tekintse meg a következő erőforrásokat:

Ha segítségre van szüksége egy adott hibaelhárítási kérdéshez, kezdjen el egy szálat az alábbi fórumok egyikén:

Hibakeresés a Visual Studióban

A hibakeresési mód Visual Studióban való használatáról további információt a Visual Studio hibakeresése és a Visual Studio 2010-ben Tippek hibakeresése című témakörben talál.

Távoli hibakeresés az Azure-ban

Az App Service-alkalmazások és a WebJobs távoli hibakeresésével kapcsolatos további információkért tekintse meg a következő erőforrásokat:

Ha az alkalmazás Azure Web API-t vagy Mobile Services-háttérrendszert használ, és ezt hibakeresésre van szüksége, olvassa el a .NET-háttérrendszer hibakeresését a Visual Studióban.

Nyomkövetés ASP.NET alkalmazásokban

Nincsenek alapos és naprakész bevezetések az interneten elérhető ASP.NET nyomkövetéshez. A legjobb, amit tehet, ha elkezdi a régi bevezető anyagok írt Web Forms, mert MVC még nem létezett, és kiegészíti, hogy az újabb blogbejegyzések, amelyek a konkrét problémákat. Néhány jó kiindulópont a következő források:

Hibanaplózás esetén a saját nyomkövetési kód megírásának alternatíva egy nyílt forráskódú naplózási keretrendszer, például az ELMAH használata. További információ : Scott Hanselman blogbejegyzései az ELMAH-ról.

Emellett nem kell ASP.NET vagy System.Diagnostics nyomkövetést használnia a streamnaplók Azure-ból való lekéréséhez. Az App Service alkalmazásstreamelési naplószolgáltatás a LogFiles mappában talált .txt, .html vagy .log fájlt streameli. Ezért létrehozhat egy saját naplózási rendszert, amely az alkalmazás fájlrendszerére ír, és a fájl automatikusan streamelődik és letöltődik. Mindössze annyit kell tennie, hogy olyan alkalmazáskódot ír, amely fájlokat hoz létre a d:\home\logfiles mappában.

Webkiszolgálói naplók elemzése

A webkiszolgálói naplók elemzésével kapcsolatos további információkért tekintse meg a következő erőforrásokat:

Sikertelen kéréskövetési naplók elemzése

A Microsoft TechNet webhelye tartalmaz egy Sikertelen kérelemkövetés használata szakaszt, amely hasznos lehet a naplók használatának megértéséhez. Ez a dokumentáció azonban elsősorban a sikertelen kérelmek nyomon követésének konfigurálására összpontosít az IIS-ben, amelyet nem lehet elvégezni Azure-alkalmazás szolgáltatásban.