Runtimeconfiguratieopties voor foutopsporing en profilering
Artikel
In dit artikel worden de instellingen beschreven die u kunt gebruiken voor het configureren van .NET-foutopsporing en -profilering.
Notitie
.NET 6 standaardiseert het voorvoegsel DOTNET_ in plaats van COMPlus_ voor omgevingsvariabelen die .NET-runtimegedrag configureren. COMPlus_ Het voorvoegsel blijft echter werken. Als u een eerdere versie van de .NET-runtime gebruikt, moet u nog steeds het COMPlus_ voorvoegsel voor omgevingsvariabelen gebruiken.
Diagnostische gegevens inschakelen
Hiermee configureert u of het foutopsporingsprogramma, de profiler en de diagnostische gegevens van EventPipe zijn ingeschakeld of uitgeschakeld.
Als u deze instelling weglaat, worden diagnostische gegevens ingeschakeld. Dit komt overeen met het instellen van de waarde op 1.
Naam instelling
Waarden
runtimeconfig.json
N.v.t.
N.v.t.
Omgevingsvariabele
COMPlus_EnableDiagnostics of DOTNET_EnableDiagnostics
1 -Ingeschakeld 0 -Handicap
Profilering inschakelen
Hiermee configureert u of profilering is ingeschakeld voor het actieve proces.
Als u deze instelling weglaat, wordt profilering uitgeschakeld. Dit komt overeen met het instellen van de waarde op 0.
Naam instelling
Waarden
runtimeconfig.json
N.v.t.
N.v.t.
Omgevingsvariabele
CORECLR_ENABLE_PROFILING
0 -Handicap 1 -Ingeschakeld
Profiler-GUID
Hiermee geeft u de GUID van de profiler die moet worden geladen in het actieve proces.
Naam instelling
Waarden
runtimeconfig.json
N.v.t.
N.v.t.
Omgevingsvariabele
CORECLR_PROFILER
tekenreeks-guid
Profilerlocatie
Hiermee geeft u het pad naar de profiler-DLL om te laden in het actieve proces (of 32-bits of 64-bits proces).
Als er meer dan één variabele is ingesteld, hebben de bitnessspecifieke variabelen voorrang. Ze geven aan welke bitness van profiler moet worden geladen.
Hiermee schakelt u selectief inschakelen van perf-kaarten of jit-dumps in of uit. Met deze bestanden kunnen hulpprogramma's van derden, zoals het Linux-hulpprogramma perf , aanroepende sites identificeren voor dynamisch gegenereerde code en vooraf gecompileerde ReadyToRun-modules (R2R).
Als u deze instelling weglaat, worden perf-toewijzings- en jitdumpbestanden beide uitgeschakeld. Dit komt overeen met het instellen van de waarde op 0.
Wanneer perf-kaarten zijn uitgeschakeld, worden niet alle beheerde oproepsites correct opgelost.
Afhankelijk van de Linux-kernelversie worden beide indelingen ondersteund door het perf hulpprogramma.
Het inschakelen van perf-kaarten of jit-dumps veroorzaakt een overhead van 10-20%. Als u de invloed van de prestaties wilt minimaliseren, wordt u aangeraden selectief perf-kaarten of jit-dumps in te schakelen, maar niet beide.
In de volgende tabel worden prestatiekaarten en jit-kaarten vergeleken.
Indeling
Beschrijving
Ondersteund op
Perf-kaarten
/tmp/perf-<pid>.mapVerzendt, dat symbolische informatie bevat voor dynamisch gegenereerde code. /tmp/perfinfo-<pid>.mapVerzendt, met informatie over het symbool van de ReadyToRun-module (R2R) en wordt gebruikt door PerfCollect.
Prestatietoewijzingen worden ondersteund in alle Linux-kernelversies.
Jit-dumps
De jit-dumpindeling vervangt perf-kaarten en bevat meer gedetailleerde symbolische informatie. Wanneer deze optie is ingeschakeld, worden jit-dumps uitgevoerd naar /tmp/jit-<pid>.dump bestanden.
Linux-kernelversies 5.4 of hoger.
Naam instelling
Waarden
runtimeconfig.json
N.v.t.
N.v.t.
Omgevingsvariabele
COMPlus_PerfMapEnabled of DOTNET_PerfMapEnabled
0 -Handicap 1 - perf-kaarten en jit-dumps beide ingeschakeld 2 - Jit-dumps ingeschakeld 3 - perf-kaarten ingeschakeld
Prestatielogboekmarkeringen
Hiermee schakelt u het opgegeven signaal in of uit om te worden geaccepteerd en genegeerd als een markering in de perf-logboeken.
Als u deze instelling weglaat, wordt het opgegeven signaal niet genegeerd. Dit komt overeen met het instellen van de waarde op 0.
Naam instelling
Waarden
runtimeconfig.json
N.v.t.
N.v.t.
Omgevingsvariabele
COMPlus_PerfMapIgnoreSignal of DOTNET_PerfMapIgnoreSignal
0 -Handicap 1 -Ingeschakeld
Notitie
Deze instelling wordt genegeerd als DOTNET_PerfMapEnabled wordt weggelaten of is ingesteld 0 op (dat wil gezegd, uitgeschakeld).
Met ons samenwerken op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.