Megosztás a következőn keresztül:


Memóriaképek gyűjtése összeomlás után

Az alkalmazás konfigurálása összeomlási memóriakép gyűjtésére adott környezeti változók beállításával történik. Ez akkor hasznos, ha szeretné megtudni, hogy miért történt összeomlás. Ha például kivétel esetén rögzít egy memóriaképet, azzal azonosíthatja a problémát, ha megvizsgálja az alkalmazás összeomlásának állapotát.

Az alábbi táblázat az összeomlási memóriaképek gyűjtésére konfigurálható környezeti változókat mutatja be.

Környezeti változó Leírás Alapértelmezett érték
COMPlus_DbgEnableMiniDump vagy DOTNET_DbgEnableMiniDump Ha 1 értékre van állítva, engedélyezze az alapvető memóriakép létrehozását. 0
COMPlus_DbgMiniDumpType vagy DOTNET_DbgMiniDumpType Gyűjtendő memóriakép típusa. További információkért lásd a miniképek típusait. 2 (Heap)
COMPlus_DbgMiniDumpName vagy DOTNET_DbgMiniDumpName Egy fájl elérési útja a memóriakép írásához. Győződjön meg arról, hogy a dotnet-folyamatot futtató felhasználó írási engedélyekkel rendelkezik a megadott könyvtárhoz. /tmp/coredump.<pid>
COMPlus_CreateDumpDiagnostics vagy DOTNET_CreateDumpDiagnostics Ha 1 értékre van állítva, engedélyezi a memóriaképi folyamat diagnosztikai naplózását. 0
COMPlus_EnableCrashReport vagy DOTNET_EnableCrashReport (.NET 6 vagy újabb verziót igényel, Windows rendszeren nem támogatott.)
Ha 1 értékre van állítva, a futtatókörnyezet létrehoz egy JSON formátumú összeomlási jelentést, amely információkat tartalmaz az összeomló alkalmazás szálairól és veremkereteiről. Az összeomlási jelentés neve a memóriakép elérési útja vagy neve .crashreport.json hozzáfűzve.
COMPlus_CreateDumpVerboseDiagnostics vagy DOTNET_CreateDumpVerboseDiagnostics (.NET 7 vagy újabb verziót igényel.)
Ha 1 értékre van állítva, engedélyezi a memóriakép folyamat részletes diagnosztikai naplózását.
0
COMPlus_CreateDumpLogToFile vagy DOTNET_CreateDumpLogToFile (.NET 7 vagy újabb verziót igényel.)
Annak a fájlnak az elérési útja, amelyhez a diagnosztikai üzeneteket meg kell írni.
Ha a rendszer nem eteti, a rendszer az összeomló alkalmazás konzoljára írja a diagnosztikai üzeneteket.

Feljegyzés

A .NET 7 szabványosítja az előtagot DOTNET_ a környezeti változók helyett COMPlus_ . Az COMPlus_ előtag azonban továbbra is működni fog. Ha a .NET-futtatókörnyezet egy korábbi verzióját használja, akkor is használja a COMPlus_ környezeti változók előtagját.

Fájlútvonal-sablonok

A .NET 5-től DOTNET_DbgMiniDumpName kezdve a dinamikusan kitöltendő formázási sablonjelölőket is tartalmazhat:

Kijelölő Érték
%% Egyetlen % karakter
%p A dömpingelt folyamat PID-je
%e A folyamat végrehajtható fájlneve
%h A gazdagép neve a következő szerint tér vissza: gethostname()
%t A memóriakép ideje, a korszak óta másodpercben kifejezve, 1970-01-01 00:00:00 +0000 (UTC)

Mini memóriaképek típusai

Az alábbi táblázat az összes használható DOTNET_DbgMiniDumpTypeértéket megjeleníti. Az 1 értékre állítás DOTNET_DbgMiniDumpType például azt jelenti, hogy Mini a rendszer egy összeomláskor gyűjti össze a típusképet.

Érték Név Leírás
0 Mini Egy kis memóriakép, amely modullistákat, szállistákat, kivételadatokat és minden vermet tartalmaz.
2 Heap Nagy és viszonylag átfogó memóriakép, amely modullistákat, szállistákat, minden vermet, kivételadatokat, információkat és minden memóriát tartalmaz, kivéve a leképezett képeket.
3 Triage Ugyanaz, mint Minia , de eltávolítja a személyes felhasználói adatokat, például az útvonalakat és a jelszavakat.
4 Full A legnagyobb memóriakép, amely tartalmazza az összes memóriát, beleértve a modulképeket is.

Az egyfájlos és natív AOT-alkalmazásmodellek csak a teljes memóriaképeket támogatják.