Параметры конфигурации времени выполнения для отладки и профилирования

В этой статье подробно описаны параметры, которые можно использовать для настройки отладки и профилирования .NET.

Примечание

.NET 6 стандартизует префикс DOTNET_ вместо COMPlus_ для переменных среды, которые настраивают поведение .NET во время выполнения. Но префикс COMPlus_ будет и дальше работать. Если вы используете предыдущую версию среды выполнения .NET, следует и дальше использовать префикс COMPlus_ для переменных среды.

Включение диагностики

  • Указывает, включены или нет отладчик, профилировщик и диагностика EventPipe.
  • Если этот параметр не задан, диагностика будет включена. Это эквивалентно присвоению значения 1.
Имя параметра Значения
runtimeconfig.json Н/Д Н/Д
Переменная среды COMPlus_EnableDiagnostics или DOTNET_EnableDiagnostics 1 — включено
0 — отключено

Включить профилирование

  • Указывает, включено ли профилирование для текущего выполняющегося процесса.
  • Если этот параметр не задан, профилирование будет отключено. Это эквивалентно присвоению значения 0.
Имя параметра Значения
runtimeconfig.json Н/Д Н/Д
Переменная среды CORECLR_ENABLE_PROFILING 0 — отключено
1 — включено

Profiler GUID (GUID профилировщика)

  • Указывает идентификатор GUID профилировщика, загружаемый в выполняющийся процесс.
Имя параметра Значения
runtimeconfig.json Н/Д Н/Д
Переменная среды CORECLR_PROFILER string-guid

Profiler location (Расположение профилировщика)

  • Указывает путь к библиотеке DLL профилировщика, загружаемой в выполняющийся процесс (либо 32- или 64-разрядный процесс).
  • Если задано более одной переменной, приоритет имеют учитывающие разрядность переменные. Они указывают, какой разрядности профилировщик следует загрузить.
  • Дополнительные сведения см. в разделе Поиск библиотеки профилировщика.
Имя параметра Значения
Переменная среды CORECLR_PROFILER_PATH string-path
Переменная среды CORECLR_PROFILER_PATH_32 string-path
Переменная среды CORECLR_PROFILER_PATH_64 string-path

Экспорт карт perf

  • Включает или отключает выдачу сопоставлений perf с /tmp/perf-$pid.map. Карты Perf позволяют сторонним средствам, таким как perf, определять сайты вызовов из предварительно скомпилированных модулей ReadyToRun (R2R).
  • Если этот параметр не задан, запись карты производительности будет отключена. Это эквивалентно присвоению значения 0.
  • Если карты perf отключены, не все управляемые вызывающие сайты будут правильно разрешены.
  • Включение карт perf приводит к накладной нагрузке на 10–20 %.
Имя параметра Значения
runtimeconfig.json Н/Д Н/Д
Переменная среды COMPlus_PerfMapEnabled или DOTNET_PerfMapEnabled 0 — отключено
1 — включено

Perf log markers (Маркеры журналов производительности)

  • Включает или отключает указанный сигнал, который будет принят и проигнорирован в качестве маркера в журналах производительности.
  • Если этот параметр не задан, указанный сигнал не будет проигнорирован. Это эквивалентно присвоению значения 0.
Имя параметра Значения
runtimeconfig.json Н/Д Н/Д
Переменная среды COMPlus_PerfMapIgnoreSignal или DOTNET_PerfMapIgnoreSignal 0 — отключено
1 — включено

Примечание

Этот параметр игнорируется, если параметр DOTNET_PerfMapEnabled не задан или имеет значение 0 (т. е. отключен).