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 Pillanatkép-hibakereső a következő környezeteket támogatja:
- 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 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 rendelkezik-e a célként megadott Application Insights SnapshotApplication Insights Snapshot Debugger szerepkörével.
A Snapshot Debugger működése
A Snapshot Debugger Application Insights telemetriai processzorként működik. Az alkalmazás futtatásakor a Snapshot Debugger telemetriai processzor csatlakozik az alkalmazás rendszer által létrehozott naplóihoz.
Fontos
A pillanatképek személyes adatokat vagy más bizalmas információkat tartalmazhatnak változó- és paraméterértékekben. Az Application Insights a pillanatképadatokat ugyanabban a régióban tárolja, mint az 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ás kivételt jelez az Application Insightsnak a
TrackExceptionmetódus meghívásával.A Snapshot Debugger az eseményre való feliratkozással figyeli a
AppDomain.CurrentDomain.FirstChanceExceptionkivételeket.A Snapshot Debugger növeli a problémaazonosítóhoz tartozó számlálót.
Amikor a számláló eléri az
ThresholdForSnapshottingértéket, a Pillanatkép-hibakereső 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, mielőtt a Pillanatkép-hibakereső létrehoz egy pillanatképet.A Pillanatkép-hibakereső kiszámítja a kivételesemény problémaazonosítóját, és összehasonlítja a gyűjteménytervben szereplő problémaazonosítókkal.
Ha egyezés van a problémaazonosítók között, a Pillanatkép-hibakereső pillanatképet hoz létre a futó folyamatról.
A Pillanatkép-hibakereső egy egyedi azonosítót rendel a pillanatképhez, és ezzel az azonosítóval együtt bélyegozza a kivételt.
Feljegyzés
A
SnapshotsPerTenMinutesLimitbeállítás korlátozza a pillanatképek létrehozásának sebességét. Alapértelmezés szerint a korlát 10 percenként egy pillanatkép.A kezelő visszatérése
FirstChanceExceptionután az alkalmazás a szokásos módon dolgozza fel a kidobott kivételt.A kivétel ismét eléri a
TrackExceptionmetódust, amely az Application Insightsnak jelenti a pillanatkép-azonosítóval együtt.
Feljegyzés
Állítsa a(z) IsEnabledInDeveloperMode elemet true értékre, hogy pillanatképeket hozzon létre, miközben a Visual Studióban hibakeresést végez.
Pillanatkép-feltöltő folyamat
Bár a Snapshot Debugger folyamat továbbra is fut, és kis megszakítással kiszolgálja a felhasználók felé irányuló forgalmat, a pillanatképet á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
A Pillanatkép-feltöltő legfeljebb 50 pillanatképet tölthet fel naponta.
Ha engedélyezte a Pillanatkép-hibakeresőt, de nem lát pillanatképeket, tekintse meg a hibaelhárítási útmutatót.
Frissítse a Pillanatkép-hibakeresőt
A Pillanatkép-hibakereső automatikusan frissül a beépített, előre telepített Application Insights-webhelybővítmény használatával.
A Snapshot Debugger naprakészen tartásához az Application Insights webhelybővítmény manuális hozzáadása elavulttá vált.
Pillanatkép-hibakeresés többletterhelése
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 az alkalmazás kivételt jelez
- Ha a kivételkezelő úgy dönt, hogy pillanatképet hoz létre
- Mikor
TrackExceptionvan meghívva
A Pillanatkép-hibakereső által rögzített adatok tárolásának nincs további költsége .
Kódoptimalizálások
Ha a Snapshot Debugger pillanatképeket gyűjt az alkalmazásból, a kapcsolódó kivételelemzések megjelenhetnek a Kódoptimalizálások összesített áttekintésében.
A Snapshot Debugger korlátozásai
A Pillanatkép-hibakeresőre az alábbi korlátozások vonatkoznak:
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. Az érték növeléséhez nyisson meg egy támogatási esetet a Azure portálon. Minden Application Insights-példány naponta legfeljebb 50 pillanatképet engedélyez.
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.
Az elérhető 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 használja a Teljes, a Hordozható vagy a Beágyazott lehetőséget.
Optimalizált buildek
Bizonyos esetekben nem tekintheti meg a helyi változókat a kiadási buildekben, mert a JIT-fordító optimalizálást alkalmaz.
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: