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 -Povoleno0 -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án1 -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>.map Generuje , který obsahuje symbolické informace pro dynamicky vygenerovaný kód.Generuje informace o symbolu /tmp/perfinfo-<pid>.map modulu 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án1 – mapy výkonu a výpisy paměti jit obě povoleny2 – povolení výpisů paměti jit3 - 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án1 -Povoleno |
Poznámka:
Toto nastavení se ignoruje, pokud DOTNET_PerfMapEnabled vynecháte nebo nastavíte ( 0
to znamená zakázáno).
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.