用于调试和分析的运行时配置选项

本文详细介绍可用于配置 .NET 调试和分析的设置。

注意

.NET 6 为用于配置 .NET 运行时行为的环境变量标准化前缀 DOTNET_ 而不是 COMPlus_。 但是,COMPlus_ 前缀仍将继续正常工作。 如果使用的是早期版本的 .NET 运行时,则环境变量仍应该使用 COMPlus_ 前缀。

启用诊断

  • 配置是启用还是禁用调试器、探查器和 EventPipe 诊断。
  • 如果省略此设置,则会启用诊断。 它等效于将值设置为 1
设置名
runtimeconfig.json 不可用 不可用
环境变量 COMPlus_EnableDiagnosticsDOTNET_EnableDiagnostics 1 - 启用
0 - 禁用

启用分析

  • 配置是否为当前正在运行的进程启用分析。
  • 如果省略此设置,则会禁用分析。 它等效于将值设置为 0
设置名
runtimeconfig.json 不可用 不可用
环境变量 CORECLR_ENABLE_PROFILING 0 - 禁用
1 - 启用

探查器 GUID

  • 指定要加载到当前正在运行的进程中的探查器 GUID。
设置名
runtimeconfig.json 不可用 不可用
环境变量 CORECLR_PROFILER string-guid

探查器位置

  • 指定要加载到当前正在运行的进程(或 32 位/64 位进程)的探查器 DLL 路径。
  • 如果设置了多个变量,则优先使用指定位数的变量。 它们指定要加载的探查器的位数。
  • 有关详细信息,请参阅 Finding the profiler library(查找探查器库)。
设置名
环境变量 CORECLR_PROFILER_PATH string-path
环境变量 CORECLR_PROFILER_PATH_32 string-path
环境变量 CORECLR_PROFILER_PATH_64 string-path

导出 perf 映射

  • 启用或禁用向 /tmp/perf-$pid.map 发出 perf 映射。 perf 映射允许第三方工具(例如 perf)从预编译的 ReadyToRun (R2R) 模块标识调用站点。
  • 如果省略此设置,则会禁止写入 Perf 映射。 它等效于将值设置为 0
  • 禁用 perf 映射时,并非所有托管的调用站点都将正确解析。
  • 启用 perf 映射会导致 10-20% 的开销。
设置名
runtimeconfig.json 不可用 不可用
环境变量 COMPlus_PerfMapEnabledDOTNET_PerfMapEnabled 0 - 禁用
1 - 启用

性能日志标记

  • 允许或禁止在性能日志中将指定信号作为标记予以接受和忽略。
  • 如果省略此设置,则不会忽略指定的信号。 它等效于将值设置为 0
设置名
runtimeconfig.json 不可用 不可用
环境变量 COMPlus_PerfMapIgnoreSignalDOTNET_PerfMapIgnoreSignal 0 - 禁用
1 - 启用

注意

如果省略 DOTNET_PerfMapEnabled 或将其设置为 0(即禁用),则将忽略此设置。