Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ha engedélyezve van, a Snapshot Debugger automatikusan összegyűjti a forráskód és a változók hibakeresési pillanatképét, amikor kivétel történik az élő .NET alkalmazásban. A Pillanatkép-hibakereső az Application Insightsban:
- Figyeli a rendszer által létrehozott naplókat a webalkalmazásból.
- Pillanatképeket gyűjt a leggyakoribb kivételekkel kapcsolatban.
- Az éles környezetben előforduló problémák diagnosztizálásához szükséges információkat nyújt.
Támogatott alkalmazások és környezetek
Alkalmazások
A pillanatkép-gyűjtemény a következő célokra érhető el:
- .NET Framework 4.6.2 és újabb verziók.
- .NET 6.0-s vagy újabb Windows rendszeren.
Környezetek
A következő környezetek támogatottak:
- Azure App Service
- Azure Functions
- Azure Cloud Services operációsrendszer-család 4- vagy újabb verzióját futtatja
- Azure Service Fabric Windows Server 2012 R2 vagy újabb verzión fut
- Azure Virtual Machines és Azure Virtual Machine Scale Sets, amelyek Windows Server 2012 R2 vagy újabb verziót futtatnak.
- On-premises virtuális vagy fizikai gépek Windows Server 2012 R2 vagy újabb, Windows 8.1 vagy újabb verziót futtat
Feljegyzés
Az ügyfélalkalmazások, például a WPF, a Windows Forms vagy az UWP nem támogatottak.
A Snapshot Debugger használatának előfeltételei
Csomagok és konfigurációk
- Vegye fel a Snapshot Collector NuGet-csomagot az alkalmazásba.
- A
ApplicationInsights.config-ben konfigurálja a gyűjtemény paramétereit.
Engedélyek
- Ellenőrizze, hogy hozzá van-e adva az Application Insights Snapshot Debugger szerepkörhöz a cél Application Insights Snapshot-hoz.
A Snapshot Debugger működése
A Snapshot Debugger Application Insights telemetriai processzorként van implementálva. Az alkalmazás futtatásakor a rendszer hozzáadja a Snapshot Debugger telemetriai processzort az alkalmazás rendszer által létrehozott naplóinak folyamatához.
Fontos
A pillanatképek személyes adatokat vagy más bizalmas információkat tartalmazhatnak változó- és paraméterértékekben. A pillanatképadatok ugyanabban a régióban lesznek tárolva, mint az Application Insights-erőforrás.
Pillanatkép-hibakereső folyamat
A Snapshot Debugger folyamat a metódussal TrackException kezdődik és végződik. A folyamat pillanatképe a futó folyamat felfüggesztett klónja. A felhasználók alig vagy egyáltalán nem tapasztalnak megszakítást. Egy tipikus forgatókönyvben:
Az alkalmazásban egy kivétel lép fel, amelyet a
TrackExceptionmetódus meghívásával jelent az Application Insightsnak.A Snapshot Debugger az eseményre való feliratkozással figyeli a
AppDomain.CurrentDomain.FirstChanceExceptionkivételeket.A problémaazonosító számlálója növelésre kerül.
Amikor a számláló eléri az
ThresholdForSnapshottingértéket, a rendszer hozzáadja a problémaazonosítót egy gyűjteménytervhez.Feljegyzés
Az
ThresholdForSnapshottingalapértelmezett minimális érték 1. Ezzel az értékkel az alkalmazásnak kétszer kell aktiválnia ugyanazt a kivételt a pillanatkép létrehozása előtt.A kivételesemény problémaazonosítóját a rendszer kiszámítja és összehasonlítja a gyűjteménytervben szereplő problémaazonosítókkal.
Ha egyezés van a problémaazonosítók között, létrejön a futó folyamat pillanatképe .
A pillanatképhez egyedi azonosító van rendelve, és a kivétel ezzel az azonosítóval van lebélyegzve.
Feljegyzés
A pillanatképek létrehozásának sebességét a
SnapshotsPerTenMinutesLimitbeállítás korlátozza. Alapértelmezés szerint a korlát 10 percenként egy pillanatkép.FirstChanceExceptionA kezelő visszatérése után a rendszer a kidobott kivételt a szokásos módon dolgozza fel.A kivétel ismét eléri a
TrackExceptionmetódust, és jelentést küld az Application Insightsnak a pillanatkép-azonosítóval együtt.
Feljegyzés
Állítsa IsEnabledInDeveloperModetrue értékre, ha pillanatképeket szeretne létrehozni a Visual Studio hibakeresése közben.
Pillanatkép-feltöltő folyamat
Bár a Pillanatkép-hibakereső folyamat továbbra is fut, és kis megszakítással kiszolgálja a forgalmat a felhasználók számára, a pillanatképet a rendszer átadja a Pillanatkép-feltöltő folyamatnak. Egy tipikus forgatókönyvben a pillanatkép-feltöltő:
Létrehoz egy minidumpot.
Feltölti a minidumpot az Application Insightsba, a megfelelő szimbólumfájlokkal (.pdb) együtt.
Feljegyzés
Naponta legfeljebb 50 pillanatkép tölthető fel.
Ha engedélyezte a Pillanatkép-hibakeresőt, de nem lát pillanatképeket, tekintse meg a hibaelhárítási útmutatót.
Pillanatkép-hibakereső frissítése
A Pillanatkép-hibakereső automatikusan frissül a beépített, előre telepített Application Insights-webhelybővítmény használatával.
Az Application Insights-webhelybővítmény manuális hozzáadása a Pillanatkép-hibakereső naprakészen tartása céljából elavult.
Felső
A Snapshot Debugger éles környezetben való használatra lett tervezve. Az alapértelmezett beállítások tartalmazzák a sebességkorlátokat az alkalmazásokra gyakorolt hatás minimalizálása érdekében.
Előfordulhat azonban, hogy a Pillanatkép-hibakeresőhöz kapcsolódó kis processzor-, memória- és I/O-többletterhelést tapasztal, például:
- Amikor kivétel fordul elő az alkalmazásban
- Ha a kivételkezelő úgy dönt, hogy pillanatképet hoz létre
- Mikor
TrackExceptionvan meghívva
A Snapshot Debugger által rögzített adatok tárolásának nincs további költsége .
Kódoptimalizálások
Ha pillanatképeket gyűjt az alkalmazásból, előfordulhat, hogy a kódoptimalizálások összesített áttekintésében kapcsolódó kivételelemzések találhatók.
Korlátozások
Ez a szakasz a Pillanatkép-hibakereső korlátozásait ismerteti.
Adatmegőrzés
A hibakeresési pillanatképek 15 napig vannak tárolva. Az alapértelmezett adatmegőrzési szabályzat alkalmazásonként van beállítva. Ha növelnie kell ezt az értéket, kérhet növelést egy támogatási jegy megnyitásával az Azure portálon. Minden Application Insights-példány esetében naponta legfeljebb 50 pillanatkép engedélyezett.
Szimbólumok közzététele
A Pillanatkép-hibakeresőhöz szimbólumfájlok szükségesek az éles kiszolgálón az alábbi funkciókhoz:
- Változók dekódolása
- A hibakeresési élmény biztosítása a Visual Studio-ban.
Alapértelmezés szerint a Visual Studio 2017 15.2-es vagy újabb verziója a kiadási buildek szimbólumait teszi közzé, amikor közzéteszi az App Service-ben.
A korábbi verziókban a következő sort kell hozzáadnia a közzétételi profilfájlhoz
.pubxml, hogy a szimbólumok kiadási módban legyenek közzétéve:<ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>A Azure Compute és más típusok esetében győződjön meg arról, hogy a szimbólumfájlok a következők:
- A fő alkalmazás
.dllugyanazon mappájában (általábanwwwroot/bin), vagy - Elérhető az aktuális útvonalon.
A különböző szimbólumbeállításokról további információt a Visual Studio dokumentációjában talál. A legjobb eredmény érdekében javasoljuk, hogy a Teljes, a Hordozható vagy a Beágyazott elemet használja.
Optimalizált buildek
Bizonyos esetekben a helyi változók nem tekinthetők meg a kiadási buildekben a JIT-fordító által alkalmazott optimalizálás miatt.
App Service azonban a Snapshot Debugger optimalizálhatja a gyűjtési terv részét képező dobási módszereket.
Tipp.
Telepítse az Application Insights webhelybővítményt az App Service példányába, hogy elérje a deoptimalizálás támogatását.
Kapcsolódó tartalom
Az Application Insights Snapshot Debugger engedélyezése az alkalmazáshoz: