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 -Aktiverat
0 -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 -Inaktiverad
1 -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 -Inaktiverad
1 - perf maps och jit dumpar båda aktiverade
2 – jit dumpar aktiverade
3 – 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 -Inaktiverad
1 -Aktiverat

Kommentar

Den här inställningen ignoreras om DOTNET_PerfMapEnabled utelämnas eller anges till 0 (dvs. inaktiverad).