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 Mini a , 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.