Share via


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.