Možnosti konfigurace modulu runtime pro ladění a profilaci

Tento článek podrobně popisuje nastavení, která můžete použít ke konfiguraci ladění a profilace .NET.

Poznámka:

.NET 6 standardizuje předponu DOTNET_ místo COMPlus_ proměnných prostředí, které konfigurují chování za běhu .NET. 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í.

Povolení diagnostiky

  • Konfiguruje, jestli je ladicí program, profiler a diagnostika EventPipe povolené nebo zakázané.
  • Pokud toto nastavení vynecháte, diagnostika se povolí. To je ekvivalentní nastavení hodnoty na 1.
Název nastavení Hodnoty
runtimeconfig.json N/A
Proměnná prostředí COMPlus_EnableDiagnostics nebo DOTNET_EnableDiagnostics 1 -Povoleno
0 -Zakázán

Povolení profilace

  • Konfiguruje, jestli je pro aktuálně spuštěný proces povolená profilace.
  • Pokud toto nastavení vynecháte, profilace je zakázaná. To je ekvivalentní nastavení hodnoty na 0.
Název nastavení Hodnoty
runtimeconfig.json N/A
Proměnná prostředí CORECLR_ENABLE_PROFILING 0 -Zakázán
1 -Povoleno

GUID profileru

  • Určuje identifikátor GUID profileru, který se má načíst do aktuálně spuštěného procesu.
Název nastavení Hodnoty
runtimeconfig.json N/A
Proměnná prostředí CORECLR_PROFILER string-guid

Umístění profileru

  • Určuje cestu k knihovně DLL profileru, která se má načíst do aktuálně spuštěného procesu (nebo do 32bitového nebo 64bitového procesu).
  • Pokud je nastavena více než jedna proměnná, mají přednost proměnné specifické pro bitovou hodnotu. Určují, jaká bitová verze profileru se má načíst.
  • Další informace naleznete v tématu Vyhledání knihovny profileru.
Název nastavení Hodnoty
Proměnná prostředí CORECLR_PROFILER_PATH cesta k řetězci
Proměnná prostředí CORECLR_PROFILER_PATH_32 cesta k řetězci
Proměnná prostředí CORECLR_PROFILER_PATH_64 cesta k řetězci

Export map výkonu a výpisů paměti jit

  • Povolí nebo zakáže selektivní povolení map výkonu nebo výpisů stavu jit. Tyto soubory umožňují nástrojům třetích stran, jako je nástroj Linux perf , identifikovat weby volání pro dynamicky generované kódy a předkompilované moduly ReadyToRun (R2R).
  • Pokud toto nastavení vynecháte, zápis map výkonu a soubory výpisu paměti jit jsou zakázány. To je ekvivalentní nastavení hodnoty na 0.
  • Pokud jsou mapy výkonu zakázané, nebudou se správně řešit všechny spravované weby volání.
  • Nástroj podporuje oba formáty v závislosti na verzi jádra Linuxu perf .
  • Povolení map výkonu nebo výpisů paměti jit způsobí režii 10–20 %. Pokud chcete minimalizovat dopad na výkon, doporučujeme selektivně povolit mapy výkonu nebo výpisy paměti jit, ale ne obojí.

Následující tabulka porovnává mapy výkonu a mapy jit.

Formát Popis Podporováno na
Mapy výkonu /tmp/perf-<pid>.mapGeneruje , který obsahuje symbolické informace pro dynamicky vygenerovaný kód.
Generuje informace o symbolu /tmp/perfinfo-<pid>.mapmodulu ReadyToRun (R2R) a používá ho PerfCollect.
Mapy výkonu se podporují ve všech verzích jádra Linuxu.
Výpisy paměti jit Formát výpisu paměti jit nahrazuje mapy výkonu a obsahuje podrobnější symbolické informace. Pokud je tato možnost povolená, výstupem výpisů paměti jit jsou /tmp/jit-<pid>.dump soubory. Linuxové jádro verze 5.4 nebo vyšší.
Název nastavení Hodnoty
runtimeconfig.json N/A
Proměnná prostředí COMPlus_PerfMapEnabled nebo DOTNET_PerfMapEnabled 0 -Zakázán
1 – mapy výkonu a výpisy paměti jit obě povoleny
2 – povolení výpisů paměti jit
3 - povolené mapy výkonu

Značky protokolu výkonu

  • Povolí nebo zakáže, aby byl zadaný signál přijat a ignorován jako značka v protokolech výkonu.
  • Pokud toto nastavení vynecháte, zadaný signál nebude ignorován. To je ekvivalentní nastavení hodnoty na 0.
Název nastavení Hodnoty
runtimeconfig.json N/A
Proměnná prostředí COMPlus_PerfMapIgnoreSignal nebo DOTNET_PerfMapIgnoreSignal 0 -Zakázán
1 -Povoleno

Poznámka:

Toto nastavení se ignoruje, pokud DOTNET_PerfMapEnabled vynecháte nebo nastavíte ( 0 to znamená zakázáno).