Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek podrobně popisuje nastavení, která můžete použít ke konfiguraci ladění a profilace .NET.
Poznámka:
Počínaje rozhraním .NET 11 podporují proměnné prostředí profileru obě DOTNET i CORECLR předpony. Předpona DOTNET je nový standard, CORECLR udržuje se kvůli zpětné kompatibilitě a může být odebrána v budoucnu.
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 položky nastavení | Hodnoty | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Proměnná prostředí | DOTNET_EnableDiagnostics |
1 -zpřístupněný0 -invalidní |
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. - Pokud chcete načíst profiler, kromě povolení profilace je potřeba pomocí těchto nastavení nakonfigurovat také guid profileru a umístění profileru profileru.
| Název položky nastavení | Hodnoty | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Proměnná prostředí | DOTNET_ENABLE_PROFILING |
0 -invalidní1 -zpřístupněný |
GUID profileru
- Určuje identifikátor GUID profileru, který se má načíst do aktuálně spuštěného procesu.
| Název položky nastavení | Hodnoty | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Proměnná prostředí |
CORECLR_PROFILER nebo DOTNET_PROFILER |
string-guid |
Umístění profileru
Po povolení profilace je možné profiler načíst dvěma způsoby: pomocí proměnných prostředí (křížové platy) nebo prostřednictvím registru (jenom Windows). Proměnné prostředí cesty profileru mají přednost před libovolnou cestou knihovny COM v registru, pokud jsou zadány obě.
Proměnná prostředí (křížový plat)
- 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.
| Název položky nastavení | Hodnoty | |
|---|---|---|
| Proměnná prostředí |
CORECLR_PROFILER_PATH nebo DOTNET_PROFILER_PATH |
cesta k řetězci |
| Proměnná prostředí |
CORECLR_PROFILER_PATH_32 nebo DOTNET_PROFILER_PATH_32 |
cesta k řetězci |
| Proměnná prostředí |
CORECLR_PROFILER_PATH_64 nebo DOTNET_PROFILER_PATH_64 |
cesta k řetězci |
| Proměnná prostředí |
CORECLR_PROFILER_PATH_ARM32 nebo DOTNET_PROFILER_PATH_ARM32 |
cesta k řetězci |
| Proměnná prostředí |
CORECLR_PROFILER_PATH_ARM64 nebo DOTNET_PROFILER_PATH_ARM64 |
cesta k řetězci |
Prostřednictvím registru (jenom Windows)
DOTNET_PROFILER_PATH* Pokud se proměnné prostředí nenastaví při spuštění ve Windows, coreclr vyhledá CLSID z DOTNET_PROFILER registru a vyhledá úplnou cestu ke knihovně DLL profileru. Stejně jako u jakékoli knihovny DLL serveru COM se ID CLSID profileru hledá pod HKEY_CLASSES_ROOT, která slučuje třídy Z HKLM a HKCU.
Export map výkonu a výpisů paměti jit
- Povolí nebo zakáže mapy výkonu nebo výpisy stavu jit. Tyto soubory umožňují nástrojům třetích stran, jako
perfje například linuxový nástroj, poskytovat pro dynamicky generované kódy a předem kompilované moduly ReadyToRun (R2R) čitelné pro člověka. - 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 může způsobit až 20% režijních nákladů, ale často je mnohem méně. Pokud chcete minimalizovat dopad na výkon, doporučujeme selektivně povolit mapy výkonu nebo výpisy paměti jit, ale ne obojí. K dopadu dochází pouze v případě, že aplikace provádí kód JITing. Často k tomu dochází při spuštění, ale může k němu dojít později, pokud aplikace spouští novou cestu kódu poprvé.
Následující tabulka porovnává mapy výkonu a mapy jit.
| Formát | Description | 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 položky nastavení | Hodnoty | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Proměnná prostředí | DOTNET_PerfMapEnabled |
0 -invalidní1 – 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 položky nastavení | Hodnoty | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Proměnná prostředí | DOTNET_PerfMapIgnoreSignal |
0 -invalidní1 -zpřístupněný |
Poznámka:
Toto nastavení se ignoruje, pokud DOTNET_PerfMapEnabled vynecháte nebo nastavíte ( 0 to znamená zakázáno).