Dumps verzamelen bij crash
Het configureren van uw toepassing voor het verzamelen van een dump bij crash wordt uitgevoerd door specifieke omgevingsvariabelen in te stellen. Dit is handig als u wilt weten waarom er een crash is opgetreden. Als u bijvoorbeeld een dump vastlegt wanneer er een uitzondering wordt gegenereerd, kunt u een probleem identificeren door de status van de app te onderzoeken wanneer deze is vastgelopen.
In de volgende tabel ziet u de omgevingsvariabelen die u kunt configureren voor het verzamelen van dumps tijdens een crash.
Omgevingsvariabele | Beschrijving | Default value |
---|---|---|
COMPlus_DbgEnableMiniDump of DOTNET_DbgEnableMiniDump |
Als deze optie is ingesteld op 1, schakelt u het genereren van kerndumps in. | 0 |
COMPlus_DbgMiniDumpType of DOTNET_DbgMiniDumpType |
Type dump dat moet worden verzameld. Zie Typen minidumps voor meer informatie. | 2 (Heap ) |
COMPlus_DbgMiniDumpName of DOTNET_DbgMiniDumpName |
Pad naar een bestand om de dump naar te schrijven. Zorg ervoor dat de gebruiker waaronder het dotnet-proces wordt uitgevoerd schrijfmachtigingen heeft voor de opgegeven map. | /tmp/coredump.<pid> |
COMPlus_CreateDumpDiagnostics of DOTNET_CreateDumpDiagnostics |
Als deze optie is ingesteld op 1, schakelt u diagnostische logboekregistratie van het dumpproces in. | 0 |
COMPlus_EnableCrashReport of DOTNET_EnableCrashReport |
(Vereist .NET 6 of hoger; niet ondersteund in Windows.) Als dit is ingesteld op 1, genereert de runtime een crashrapport met JSON-indeling dat informatie bevat over de threads en stackframes van de crashende toepassing. De naam van het crashrapport is het dumppad of de naam waaraan .crashreport.json toegevoegd. |
|
COMPlus_CreateDumpVerboseDiagnostics of DOTNET_CreateDumpVerboseDiagnostics |
(Vereist .NET 7 of hoger.) Als deze optie is ingesteld op 1, schakelt u uitgebreide diagnostische logboekregistratie van het dumpproces in. |
0 |
COMPlus_CreateDumpLogToFile of DOTNET_CreateDumpLogToFile |
(Vereist .NET 7 of hoger.) Het pad van het bestand waarnaar de diagnostische berichten moeten worden geschreven. |
Als dit niet is gestart, worden de diagnostische berichten naar de console van de crashende toepassing geschreven. |
Notitie
.NET 7 standaardiseert het voorvoegsel DOTNET_
in plaats van COMPlus_
voor deze omgevingsvariabelen. COMPlus_
Het voorvoegsel blijft echter werken. Als u een eerdere versie van de .NET-runtime gebruikt, moet u nog steeds het COMPlus_
voorvoegsel voor omgevingsvariabelen gebruiken.
Bestandspadsjablonen
Vanaf .NET 5 DOTNET_DbgMiniDumpName
kunt u ook opmaaksjabloonaanduidingen opnemen die dynamisch worden ingevuld:
Aanduiding | Weergegeven als |
---|---|
%% | Eén % teken |
%p | PID van gedumpt proces |
%e | De uitvoerbare bestandsnaam van het proces |
%h | Hostnaam retourneren door gethostname() |
%t | Tijd van dump, uitgedrukt in seconden sinds de Epoch, 1970-01-01 00:00:00 +0000 (UTC) |
Typen minidumps
In de volgende tabel ziet u alle waarden die u voor kunt gebruiken DOTNET_DbgMiniDumpType
. Als u bijvoorbeeld instelt DOTNET_DbgMiniDumpType
op 1, betekent dit dat Mini
typedump wordt verzameld tijdens een crash.
Weergegeven als | Name | Beschrijving |
---|---|---|
1 | Mini |
Een kleine dump met modulelijsten, threadlijsten, uitzonderingsinformatie en alle stacks. |
2 | Heap |
Een grote en relatief uitgebreide dump met modulelijsten, threadlijsten, alle stacks, uitzonderingsinformatie, handle-informatie en alle geheugen, met uitzondering van toegewezen afbeeldingen. |
3 | Triage |
Hetzelfde als Mini , maar verwijdert persoonlijke gebruikersgegevens, zoals paden en wachtwoorden. |
4 | Full |
De grootste dump die alle geheugen bevat, inclusief de module-installatiekopieën. |
Alleen volledige dumps worden ondersteund door de modellen voor één bestand en systeemeigen AOT-apps.