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 | Default value |
---|---|---|
COMPlus_DbgEnableMiniDump nebo DOTNET_DbgEnableMiniDump |
Pokud je nastavená hodnota 1, povolte generování výpisu paměti jádra. | 0 |
COMPlus_DbgMiniDumpType nebo 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 ) |
COMPlus_DbgMiniDumpName nebo 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> |
COMPlus_CreateDumpDiagnostics nebo DOTNET_CreateDumpDiagnostics |
Pokud je nastavená hodnota 1, povolí protokolování diagnostiky procesu výpisu paměti. | 0 |
COMPlus_EnableCrashReport nebo DOTNET_EnableCrashReport |
(Vyžaduje .NET 6 nebo novější, nepodporuje se ve Windows.) 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 . |
|
COMPlus_CreateDumpVerboseDiagnostics nebo DOTNET_CreateDumpVerboseDiagnostics |
(Vyžaduje .NET 7 nebo novější.) Pokud je nastavená hodnota 1, povolí podrobné protokolování diagnostiky procesu výpisu paměti. |
0 |
COMPlus_CreateDumpLogToFile nebo DOTNET_CreateDumpLogToFile |
(Vyžaduje .NET 7 nebo novější.) 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. |
Poznámka:
.NET 7 standardizuje předponu DOTNET_
místo COMPlus_
těchto proměnných prostředí. Předpona COMPlus_
ale bude i nadále fungovat. Pokud používáte předchozí verzi modulu runtime .NET, měli byste stále používat předponu COMPlus_
pro proměnné prostředí.
Š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.