Körningskonfigurationsalternativ för felsökning och profilering
Den här artikeln beskriver de inställningar som du kan använda för att konfigurera .NET-felsökning och profilering.
Kommentar
.NET 6 standardiserar på prefixet DOTNET_
i stället COMPlus_
för för miljövariabler som konfigurerar .NET-körningsbeteende. Prefixet COMPlus_
fortsätter dock att fungera. Om du använder en tidigare version av .NET-körningen bör du fortfarande använda prefixet COMPlus_
för miljövariabler.
Aktivera diagnostik
- Konfigurerar om felsökningsprogrammet, profileraren och EventPipe-diagnostiken är aktiverade eller inaktiverade.
- Om du utelämnar den här inställningen aktiveras diagnostik. Detta motsvarar att ange värdet till
1
.
Inställningsnamn | Värden | |
---|---|---|
runtimeconfig.json | Saknas | Saknas |
Miljövariabel | COMPlus_EnableDiagnostics eller DOTNET_EnableDiagnostics |
1 -Aktiverat0 -Inaktiverad |
Aktivera profilering
- Konfigurerar om profilering är aktiverat för den process som körs.
- Om du utelämnar den här inställningen inaktiveras profilering. Detta motsvarar att ange värdet till
0
.
Inställningsnamn | Värden | |
---|---|---|
runtimeconfig.json | Saknas | Saknas |
Miljövariabel | CORECLR_ENABLE_PROFILING |
0 -Inaktiverad1 -Aktiverat |
Profilerar-GUID
- Anger GUID för profileraren som ska läsas in i den process som körs.
Inställningsnamn | Värden | |
---|---|---|
runtimeconfig.json | Saknas | Saknas |
Miljövariabel | CORECLR_PROFILER |
string-guid |
Profileringsplats
- Anger sökvägen till profilerar-DLL:en som ska läsas in i den process som körs (eller 32-bitars eller 64-bitarsprocessen).
- Om fler än en variabel anges har de bitnessspecifika variablerna företräde. De anger vilken bit av profilerare som ska läsas in.
- Mer information finns i Hitta profilerarbiblioteket.
Inställningsnamn | Värden | |
---|---|---|
Miljövariabel | CORECLR_PROFILER_PATH |
strängsökväg |
Miljövariabel | CORECLR_PROFILER_PATH_32 |
strängsökväg |
Miljövariabel | CORECLR_PROFILER_PATH_64 |
strängsökväg |
Exportera perf-kartor och jit-dumpar
- Aktiverar eller inaktiverar selektiv aktivering av perf-kartor eller jitdumpar. Dessa filer gör det möjligt för verktyg från tredje part, till exempel Linux-verktyget
perf
, att identifiera anropsplatser för dynamiskt genererad kod och förkompilerade ReadyToRun-moduler (R2R). - Om du utelämnar den här inställningen inaktiveras båda filerna för att skriva perf-karta och jit dump. Detta motsvarar att ange värdet till
0
. - När perf-kartor är inaktiverade kommer inte alla hanterade anropswebbplatser att lösas korrekt.
- Beroende på Linux-kernelversionen stöds båda formaten
perf
av verktyget. - Om du aktiverar perf-kartor eller jitdumpar medför det en kostnad på 10–20 %. För att minimera prestandapåverkan rekommenderar vi att du selektivt aktiverar antingen perf-kartor eller jitdumpar, men inte båda.
I följande tabell jämförs perf-kartor och jit-kartor.
Format | beskrivning | Stöds på |
---|---|---|
Perf-kartor | Genererar /tmp/perf-<pid>.map , som innehåller symbolisk information för dynamiskt genererad kod.Genererar /tmp/perfinfo-<pid>.map , som innehåller information om Modulen ReadyToRun (R2R) och används av PerfCollect. |
Perf-kartor stöds i alla Linux-kernelversioner. |
Jit dumpar | Jit dump-formatet ersätter perf-kartor och innehåller mer detaljerad symbolisk information. När det är aktiverat matas jit-dumpar ut till /tmp/jit-<pid>.dump filer. |
Linux-kernelversioner 5.4 eller senare. |
Inställningsnamn | Värden | |
---|---|---|
runtimeconfig.json | Saknas | Saknas |
Miljövariabel | COMPlus_PerfMapEnabled eller DOTNET_PerfMapEnabled |
0 -Inaktiverad1 - perf maps och jit dumpar båda aktiverade2 – jit dumpar aktiverade3 – perf-kartor aktiverade |
Perf-loggmarkörer
- Aktiverar eller inaktiverar den angivna signalen som ska accepteras och ignoreras som en markör i perf-loggarna.
- Om du utelämnar den här inställningen ignoreras inte den angivna signalen. Detta motsvarar att ange värdet till
0
.
Inställningsnamn | Värden | |
---|---|---|
runtimeconfig.json | Saknas | Saknas |
Miljövariabel | COMPlus_PerfMapIgnoreSignal eller DOTNET_PerfMapIgnoreSignal |
0 -Inaktiverad1 -Aktiverat |
Kommentar
Den här inställningen ignoreras om DOTNET_PerfMapEnabled utelämnas eller anges till 0
(dvs. inaktiverad).
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.