Dela via


Samla in dumpar vid krasch

Du konfigurerar programmet för att samla in en dump vid krasch genom att ange specifika miljövariabler. Detta är användbart när du vill få en förståelse för varför en krasch inträffade. Om du till exempel samlar in en dump när ett undantag utlöses kan du identifiera ett problem genom att undersöka appens tillstånd när det kraschade.

I följande tabell visas de miljövariabler som du kan konfigurera för att samla in dumpar vid en krasch.

Miljövariabel beskrivning Standardvärde
COMPlus_DbgEnableMiniDump eller DOTNET_DbgEnableMiniDump Om värdet är 1 aktiverar du generering av kärndumpar. 0
COMPlus_DbgMiniDumpType eller DOTNET_DbgMiniDumpType Typ av dump som ska samlas in. Mer information finns i Typer av minidumpar. 2 (Heap)
COMPlus_DbgMiniDumpName eller DOTNET_DbgMiniDumpName Sökväg till en fil som dumpen ska skrivas till. Kontrollera att användaren som dotnet-processen körs under har skrivbehörighet till den angivna katalogen. /tmp/coredump.<pid>
COMPlus_CreateDumpDiagnostics eller DOTNET_CreateDumpDiagnostics Om värdet är 1 aktiverar du diagnostikloggning av dumpprocessen. 0
COMPlus_EnableCrashReport eller DOTNET_EnableCrashReport (Kräver .NET 6 eller senare, stöds inte i Windows.)
Om värdet är 1 genererar körningen en JSON-formaterad kraschrapport som innehåller information om trådarna och stackramarna i det kraschande programmet. Kraschrapportens namn är dumpsökvägen eller namnet med .crashreport.json bifogad.
COMPlus_CreateDumpVerboseDiagnostics eller DOTNET_CreateDumpVerboseDiagnostics (Kräver .NET 7 eller senare.)
Om värdet är 1 aktiverar du utförlig diagnostisk loggning av dumpprocessen.
0
COMPlus_CreateDumpLogToFile eller DOTNET_CreateDumpLogToFile (Kräver .NET 7 eller senare.)
Sökvägen till filen som diagnostikmeddelandena ska skrivas till.
Om det inte anges skrivs diagnostikmeddelandena till konsolen för det kraschande programmet.

Kommentar

.NET 7 standardiserar på prefixet DOTNET_ i stället COMPlus_ för för dessa miljövariabler. Prefixet COMPlus_ fortsätter dock att fungera. Om du använder en tidigare version av .NET-körningen bör du fortfarande använda prefixet COMPlus_ för miljövariabler.

Filsökvägsmallar

Från och med .NET 5 DOTNET_DbgMiniDumpName kan du även inkludera formateringsmallsspecificerare som fylls i dynamiskt:

Specificerare Värde
%% Ett enskilt % tecken
%p PID för dumpad process
%e Körbart filnamn för processen
%h Värdnamn returneras av gethostname()
%t Tiden för dumpning, uttryckt som sekunder sedan epoken, 1970-01-01 00:00:00 +0000 (UTC)

Typer av minidumpar

I följande tabell visas alla värden som du kan använda för DOTNET_DbgMiniDumpType. Till exempel innebär inställningen DOTNET_DbgMiniDumpType 1 att Mini typdump samlas in vid en krasch.

Värde Name beskrivning
1 Mini En liten dump som innehåller modullistor, trådlistor, undantagsinformation och alla staplar.
2 Heap En stor och relativt omfattande dump som innehåller modullistor, trådlistor, alla staplar, undantagsinformation, hantera information och allt minne förutom mappade bilder.
3 Triage Samma som Mini, men tar bort personlig användarinformation, till exempel sökvägar och lösenord.
4 Full Den största dumpen som innehåller allt minne, inklusive modulbilderna.

Endast fullständiga dumpar stöds av appmodellerna single-file och Native AOT.