Sdílet prostřednictvím


Shromažďování výpisů stavu systému při chybovém ukončení

Konfigurace aplikace tak, aby shromažďovala výpis stavu systému, se provádí nastavením konkrétních proměnných prostředí. To je užitečné, když chcete pochopit, proč došlo k chybovému ukončení. Například zachycení výpisu paměti při vyvolání výjimky vám pomůže identifikovat problém prozkoumáním stavu aplikace při chybovém ukončení.

Následující tabulka ukazuje proměnné prostředí, které můžete nakonfigurovat pro shromažďování výpisů paměti v chybovém ukončení.

Proměnná prostředí Popis Výchozí hodnota
DOTNET_DbgEnableMiniDump Pokud je nastavená hodnota 1, povolte generování výpisu paměti jádra. 0
DOTNET_DbgMiniDumpType Typ výpisu paměti, který se má shromáždit. Další informace naleznete v tématu Typy mini výpisů paměti. 2 (Heap)
DOTNET_DbgMiniDumpName Cesta k souboru pro zápis výpisu paměti. Ujistěte se, že uživatel, pod kterým je spuštěný proces dotnet, má oprávnění k zápisu do zadaného adresáře. /tmp/coredump.<pid>
DOTNET_CreateDumpDiagnostics Pokud je nastavená hodnota 1, povolí protokolování diagnostiky procesu výpisu paměti. 0
DOTNET_EnableCrashReport (nepodporováno ve Windowsu.)
Pokud je nastavená hodnota 1, modul runtime vygeneruje zprávu o chybovém ukončení ve formátu JSON, která obsahuje informace o vláknech a rámech zásobníku chybové aplikace. Název zprávy o chybovém ukončení je cesta k výpisu paměti nebo název s připojeným .crashreport.json .
DOTNET_CreateDumpVerboseDiagnostics Pokud je nastavená hodnota 1, povolí podrobné protokolování diagnostiky procesu výpisu paměti. 0
DOTNET_CreateDumpLogToFile Cesta k souboru, do kterého se mají zapsat diagnostické zprávy. Pokud ji nenasadíte, zapíšou se diagnostické zprávy do konzoly chybové aplikace.

Šablony cest k souborům

Počínaje rozhraním .NET 5 může obsahovat také specifikátory šablon formátování, DOTNET_DbgMiniDumpName které budou vyplněny dynamicky:

Specifikátor Hodnota
%% Jeden znak %
%p PID výpisu stavu procesu
%e Název spustitelného souboru procesu
%h Název hostitele se vrátí podle gethostname()
%t Čas výpisu, vyjádřený jako sekundy od Epochy, 1970-01-01 00:00:00 +0000 (UTC)

Typy mini výpisů paměti

V následující tabulce jsou uvedeny všechny hodnoty, které můžete použít pro DOTNET_DbgMiniDumpType. Například nastavení DOTNET_DbgMiniDumpType na 1 znamená, že Mini se při chybovém ukončení shromáždí výpis typu.

Hodnota Název Popis
1 Mini Malý výpis paměti obsahující seznamy modulů, seznamy vláken, informace o výjimce a všechny zásobníky.
2 Heap Velký a relativně komplexní výpis obsahující seznamy modulů, seznamy vláken, všechny zásobníky, informace o výjimce, zpracování informací a veškerou paměť s výjimkou mapovaných obrázků.
3 Triage Stejné jako Mini, ale odebere osobní informace o uživatelích, jako jsou cesty a hesla.
4 Full Největší výpis paměti obsahující veškerou paměť včetně imagí modulů.

Pouze úplné výpisy paměti jsou podporovány modely jednosouborových a nativních aplikací AOT.