diff --git a/docs/core/runtime-config/debugging-profiling.md b/docs/core/runtime-config/debugging-profiling.md
index 13cdea3ccba28..60f9de723910f 100644
--- a/docs/core/runtime-config/debugging-profiling.md
+++ b/docs/core/runtime-config/debugging-profiling.md
@@ -9,6 +9,9 @@ This article details the settings you can use to configure .NET debugging and pr
[!INCLUDE [complus-prefix](../../../includes/complus-prefix.md)]
+> [!NOTE]
+> Starting in .NET 11, profiler environment variables now support both `DOTNET` and `CORECLR` prefixes. The `DOTNET` prefix is the new standard, while `CORECLR` is maintained for backwards compatibility and might be removed in the future.
+
## Enable diagnostics
- Configures whether the debugger, the profiler, and EventPipe diagnostics are enabled or disabled.
@@ -23,11 +26,12 @@ This article details the settings you can use to configure .NET debugging and pr
- Configures whether profiling is enabled for the currently running process.
- If you omit this setting, profiling is disabled. This is equivalent to setting the value to `0`.
+- To load a profiler, in addition to enabling profiling, the profiler GUID and profiler location also need to be configured using these settings.
| | Setting name | Values |
| - | - | - |
| **runtimeconfig.json** | N/A | N/A |
-| **Environment variable** | `CORECLR_ENABLE_PROFILING` | `0` - disabled
`1` - enabled |
+| **Environment variable** | `CORECLR_ENABLE_PROFILING` or `DOTNET_ENABLE_PROFILING` | `0` - disabled
`1` - enabled |
## Profiler GUID
@@ -36,19 +40,28 @@ This article details the settings you can use to configure .NET debugging and pr
| | Setting name | Values |
| - | - | - |
| **runtimeconfig.json** | N/A | N/A |
-| **Environment variable** | `CORECLR_PROFILER` | *string-guid* |
+| **Environment variable** | `CORECLR_PROFILER` or `DOTNET_PROFILER` | *string-guid* |
## Profiler location
+Once profiling is enabled, the profiler can be loaded in two ways: with environment variables (cross-plat) or through the registry (Windows only). The profiler path environment variables take precedence over any COM library path in the registry if both are specified.
+
+### Environment variable (cross-plat)
+
- Specifies the path to the profiler DLL to load into the currently running process (or 32-bit or 64-bit process).
- If more than one variable is set, the bitness-specific variables take precedence. They specify which bitness of profiler to load.
-- For more information, see [Finding the profiler library](https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/profiling/Profiler%20Loading.md).
| | Setting name | Values |
| - | - | - |
-| **Environment variable** | `CORECLR_PROFILER_PATH` | *string-path* |
-| **Environment variable** | `CORECLR_PROFILER_PATH_32` | *string-path* |
-| **Environment variable** | `CORECLR_PROFILER_PATH_64` | *string-path* |
+| **Environment variable** | `CORECLR_PROFILER_PATH` or `DOTNET_PROFILER_PATH` | *string-path* |
+| **Environment variable** | `CORECLR_PROFILER_PATH_32` or `DOTNET_PROFILER_PATH_32` | *string-path* |
+| **Environment variable** | `CORECLR_PROFILER_PATH_64` or `DOTNET_PROFILER_PATH_64` | *string-path* |
+| **Environment variable** | `CORECLR_PROFILER_PATH_ARM32` or `DOTNET_PROFILER_PATH_ARM32` | *string-path* |
+| **Environment variable** | `CORECLR_PROFILER_PATH_ARM64` or `DOTNET_PROFILER_PATH_ARM64` | *string-path* |
+
+### Through the registry (Windows only)
+
+When the `DOTNET_PROFILER_PATH*` [environment variables](#environment-variable-cross-plat) aren't set while running on Windows, coreclr looks up the CLSID from `DOTNET_PROFILER` in the registry to find the full path to the profiler's DLL. Just like with any COM server DLL, the profiler's CLSID is looked up under HKEY_CLASSES_ROOT, which merges the classes from HKLM and HKCU.
## Export perf maps and jit dumps