Delen 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 Standaardwaarde
DOTNET_DbgEnableMiniDump Als deze optie is ingesteld op 1, schakelt u het genereren van kerndumps in. 0
DOTNET_DbgMiniDumpType Type dump dat moet worden verzameld. Zie Typen minidumps voor meer informatie. 2 (Heap)
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>
DOTNET_CreateDumpDiagnostics Als deze optie is ingesteld op 1, schakelt u diagnostische logboekregistratie van het dumpproces in. 0
DOTNET_DbgCreateDumpToolPath (Alleen .NET 11+ NativeAOT)
Pad naar de map waar het hulpprogramma createdump zich bevindt. De runtime zoekt naar het binaire bestand createdump in deze map. Deze variabele is handig in scenario's waarin createdump niet met de runtime wordt meegeleverd en u uw eigen dumpgeneratietool moet gebruiken. Deze omgevingsvariabele wordt alleen ondersteund in NativeAOT-toepassingen en wordt anders genegeerd.
DOTNET_EnableCrashReport (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.
DOTNET_CreateDumpVerboseDiagnostics Als deze optie is ingesteld op 1, schakelt u uitgebreide diagnostische logboekregistratie van het dumpproces in. 0
DOTNET_CreateDumpLogToFile 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.

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 Naam 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.