Laufzeitkonfigurationsoptionen für Debuggen und Profilerstellung
In diesem Artikel werden die Einstellungen beschrieben, mit denen Sie das Debuggen und die Profilerstellung in .NET konfigurieren können.
Hinweis
In .NET 6 ist das Präfix DOTNET_
statt COMPlus_
Standard für Umgebungsvariablen, die das .NET-Runtimeverhalten konfigurieren. Das Präfix COMPlus_
funktioniert jedoch weiterhin. Wenn Sie eine frühere Version der .NET-Runtime verwenden, sollten Sie weiterhin das Präfix COMPlus_
für Umgebungsvariablen verwenden.
Aktivieren der Diagnosefunktion
- Konfiguriert, ob der Debugger, der Profiler und die EventPipe-Diagnose aktiviert oder deaktiviert sind
- Wenn Sie diese Einstellung weglassen, wird die Diagnose aktiviert. Dies entspricht der Einstellung des Werts auf
1
.
Einstellungsname | Werte | |
---|---|---|
runtimeconfig.json | Nicht zutreffend | Nicht zutreffend |
Umgebungsvariable | COMPlus_EnableDiagnostics oder DOTNET_EnableDiagnostics |
1 – aktiviert0 – deaktiviert |
Aktivieren der Profilerstellung
- Konfiguriert, ob die Profilerstellung für den aktuell laufenden Prozess aktiviert ist
- Wenn Sie diese Einstellung weglassen, ist die Profilerstellung deaktiviert. Dies entspricht der Einstellung des Werts auf
0
.
Einstellungsname | Werte | |
---|---|---|
runtimeconfig.json | Nicht zutreffend | Nicht zutreffend |
Umgebungsvariable | CORECLR_ENABLE_PROFILING |
0 – deaktiviert1 – aktiviert |
GUID des Profilers
- Gibt die GUID des Profilers an, der in den aktuell laufenden Prozess geladen werden soll
Einstellungsname | Werte | |
---|---|---|
runtimeconfig.json | Nicht zutreffend | Nicht zutreffend |
Umgebungsvariable | CORECLR_PROFILER |
string-guid |
Speicherort des Profilers
- Gibt den Pfad zur Profiler-DLL an, die in den aktuell laufenden Prozess geladen werden soll (32-Bit- oder 64-Bit-Paket)
- Wenn mehr als eine Variable festgelegt ist, haben die für die Bitanzahl spezifischen Variablen Vorrang. Diese geben an, welche Bitanzahl von Profiler geladen werden soll.
- Weitere Informationen finden Sie unter Suchen der Profilerbibliothek.
Einstellungsname | Werte | |
---|---|---|
Umgebungsvariable | CORECLR_PROFILER_PATH |
string-path |
Umgebungsvariable | CORECLR_PROFILER_PATH_32 |
string-path |
Umgebungsvariable | CORECLR_PROFILER_PATH_64 |
string-path |
Exportieren von Perf-Zuordnungen und Jit-Sicherungen
- Aktiviert oder deaktiviert die selektive Aktivierung von Perf-Zuordnungen oder Jit-Sicherungen. Mit diesen Dateien können Drittanbietertools wie das
perf
-Tool von Linux zum Aufrufen von Websites für dynamisch generierten Code und vorkompilierte ReadyToRun(R2R)-Module identifizieren. - Wenn Sie diese Einstellung weglassen, ist das Schreiben von Perf-Zuordnungs- und Jit-Sicherungsdateien deaktiviert. Dies entspricht der Einstellung des Werts auf
0
. - Wenn Perf-Zuordnungskarten deaktiviert sind, werden nicht alle verwalteten Aufrufstandorte ordnungsgemäß aufgelöst.
- Abhängig von der Linux-Kernelversion werden beide Formate vom
perf
-Tool unterstützt. - Das Aktivieren von Perf-Zuordnungen oder Jit-Sicherungen führt zu einem Mehraufwand von 10 bis 20 %. Um die Leistungsbeeinträchtigung zu minimieren, wird empfohlen, entweder Perf-Zuordnungen oder Jit-Sicherungen zu aktivieren, aber nicht beides.
In der folgenden Tabelle werden Perf-Zuordnungen und Jit-Karten verglichen.
Format | Beschreibung | Unterstützt auf |
---|---|---|
Perf-Zuordnungen | Gibt /tmp/perf-<pid>.map aus, der symbolische Informationen für dynamisch generierten Code enthält.Gibt /tmp/perfinfo-<pid>.map aus, der ReadyToRun (R2R)-Modulsymbolinformationen enthält und von PerfCollect verwendet wird. |
Perf-Zuordnungen werden in allen Linux-Kernelversionen unterstützt. |
Jit-Sicherungen | Das Jit-Sicherungsformat ersetzt Perf-Zuordnungen und enthält detailliertere symbolische Informationen. Wenn diese Option aktiviert ist, werden Jit-Sicherungen in /tmp/jit-<pid>.dump Dateien ausgegeben. |
Linux Kernel, Versionen 5.4 oder höher. |
Einstellungsname | Werte | |
---|---|---|
runtimeconfig.json | Nicht zutreffend | Nicht zutreffend |
Umgebungsvariable | COMPlus_PerfMapEnabled oder DOTNET_PerfMapEnabled |
0 – deaktiviert1 – Perf-Zuordnungen und Jit-Sicherungen aktiviert2 – Jit-Sicherungen aktiviert3 – Perf-Zuordnungen aktiviert |
Leistungsprotokollmarker
- Aktiviert oder deaktiviert das angegebene Signal, um als Marker in den Leistungsprotokollen akzeptiert oder ignoriert zu werden.
- Wenn Sie diese Einstellung weglassen, wird das angegebene Signal nicht ignoriert. Dies entspricht der Einstellung des Werts auf
0
.
Einstellungsname | Werte | |
---|---|---|
runtimeconfig.json | Nicht zutreffend | Nicht zutreffend |
Umgebungsvariable | COMPlus_PerfMapIgnoreSignal oder DOTNET_PerfMapIgnoreSignal |
0 – deaktiviert1 – aktiviert |
Hinweis
Diese Einstellung wird ignoriert, wenn DOTNET_PerfMapEnabled ausgelassen oder auf 0
festgelegt wird (d. h. deaktiviert).