用于调试和分析的运行时配置选项
本文详细介绍可用于配置 .NET 调试和分析的设置。
注意
.NET 6 为用于配置 .NET 运行时行为的环境变量标准化前缀 DOTNET_
而不是 COMPlus_
。 但是,COMPlus_
前缀仍将继续正常工作。 如果使用的是早期版本的 .NET 运行时,则环境变量仍应该使用 COMPlus_
前缀。
启用诊断
- 配置是启用还是禁用调试器、探查器和 EventPipe 诊断。
- 如果省略此设置,则会启用诊断。 它等效于将值设置为
1
。
|
设置名 |
值 |
runtimeconfig.json |
不可用 |
不可用 |
环境变量 |
COMPlus_EnableDiagnostics 或 DOTNET_EnableDiagnostics |
1 - 启用
0 - 禁用 |
启用分析
- 配置是否为当前正在运行的进程启用分析。
- 如果省略此设置,则会禁用分析。 它等效于将值设置为
0
。
|
设置名 |
值 |
runtimeconfig.json |
不可用 |
不可用 |
环境变量 |
CORECLR_ENABLE_PROFILING |
0 - 禁用
1 - 启用 |
探查器 GUID
- 指定要加载到当前正在运行的进程中的探查器 GUID。
|
设置名 |
值 |
runtimeconfig.json |
不可用 |
不可用 |
环境变量 |
CORECLR_PROFILER |
string-guid |
探查器位置
|
设置名 |
值 |
环境变量 |
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_PerfMapEnabled 或 DOTNET_PerfMapEnabled |
0 - 禁用
1 - 启用 |
性能日志标记
- 允许或禁止在性能日志中将指定信号作为标记予以接受和忽略。
- 如果省略此设置,则不会忽略指定的信号。 它等效于将值设置为
0
。
|
设置名 |
值 |
runtimeconfig.json |
不可用 |
不可用 |
环境变量 |
COMPlus_PerfMapIgnoreSignal 或 DOTNET_PerfMapIgnoreSignal |
0 - 禁用
1 - 启用 |