Options de configuration du runtime pour le débogage et le profilage
Cet article détaille les paramètres que vous pouvez utiliser pour configurer le débogage et le profilage .NET.
Notes
.NET 6 se normalise sur le préfixe DOTNET_
au lieu de COMPlus_
pour les variables d’environnement qui configurent le comportement au moment de l’exécution de .NET. Toutefois, le préfixe COMPlus_
continuera à fonctionner. Si vous utilisez une version précédente du runtime .NET, vous devez tout de même utiliser le préfixe COMPlus_
.
Activation des diagnostics
- Configure si les diagnostics du débogueur, du profileur et EventPipe sont activés ou désactivés.
- Si vous omettez ce paramètre, les diagnostics sont activés. Ceci équivaut à définir la valeur
1
.
Nom du paramètre | Valeurs | |
---|---|---|
runtimeconfig.json | N/A | N/A |
Variable d'environnement | COMPlus_EnableDiagnostics ou DOTNET_EnableDiagnostics |
1 - activé0 - désactivé |
Activer le profilage
- Configure si le profilage est activé pour le processus en cours d’exécution.
- Si vous omettez ce paramètre, le profilage est désactivé. Ceci équivaut à définir la valeur
0
.
Nom du paramètre | Valeurs | |
---|---|---|
runtimeconfig.json | N/A | N/A |
Variable d'environnement | CORECLR_ENABLE_PROFILING |
0 - désactivé1 - activé |
GUID du profileur
- Spécifie le GUID du profileur à charger dans le processus en cours d’exécution.
Nom du paramètre | Valeurs | |
---|---|---|
runtimeconfig.json | N/A | N/A |
Variable d'environnement | CORECLR_PROFILER |
string-guid |
Emplacement du profileur
- Spécifie le chemin de la DLL du profileur à charger dans le processus en cours d’exécution (ou processus 32 bits ou 64 bits).
- Si plusieurs variables sont définies, les variables spécifiques au nombre de bits sont prioritaires. Ils spécifient le nombre de bits du profileur à charger.
- Pour plus d’informations, consultez Recherche de la bibliothèque du profileur.
Nom du paramètre | Valeurs | |
---|---|---|
Variable d'environnement | CORECLR_PROFILER_PATH |
string-path |
Variable d'environnement | CORECLR_PROFILER_PATH_32 |
string-path |
Variable d'environnement | CORECLR_PROFILER_PATH_64 |
string-path |
Exporter des mappages de performance et des images mémoire jit
- Active ou désactive l’activation sélective des mappages de performance ou des images mémoire jit. Ces fichiers permettent aux outils tiers, comme l’outil Linux
perf
, d’identifier les sites d’appel pour le code généré dynamiquement et les modules ReadyToRun (R2R) précompilés. - Si vous omettez ce paramètre, l’écriture des fichiers de mappage de performance et d’image mémoire jit est désactivée. Ceci équivaut à définir la valeur
0
. - Lorsque les mappages de performances sont désactivés, tous les sites d’appels gérés ne sont pas correctement résolus.
- En fonction de la version du noyau Linux, les deux formats sont pris en charge par l’outil
perf
. - L’activation des mappages de performances occasionne une surcharge de 10 à 20 %. Pour réduire l’impact sur les performances, une activation sélective des mappages de performances ou des images mémoire jit est recommandée, mais pas les deux.
Le tableau suivant compare les mappages de performances et les mappages jit.
Format | Description | Prise en charge sur |
---|---|---|
Mappages de performance | Émet /tmp/perf-<pid>.map qui contient des informations symboliques pour le code généré dynamiquement.Émet /tmp/perfinfo-<pid>.map qui contient les informations sur le symbole du module ReadyToRun (R2R) et est utilisée par PerfCollect. |
Les mappages de performance sont pris en charge sur toutes les versions du noyau Linux. |
Images mémoire Jit | Le format de l’image mémoire jit remplace les mappages de performance et contient des informations symboliques plus détaillées. Lorsque cette option est activée, les images mémoire jit sont générées dans des fichiers /tmp/jit-<pid>.dump . |
Version 5.4 (ou ultérieure) du noyau Linux. |
Nom du paramètre | Valeurs | |
---|---|---|
runtimeconfig.json | N/A | N/A |
Variable d'environnement | COMPlus_PerfMapEnabled ou DOTNET_PerfMapEnabled |
0 - désactivé1 – mappages de performance et images mémoire jit activés2 – images mémoire jit activées3 – mappages de performance activés |
Marqueurs de journal de performances
- Permet ou non d’accepter et d’ignorer le signal spécifié en tant que marqueur dans les journaux de performances.
- Si vous omettez ce paramètre, le signal spécifié n’est pas ignoré. Ceci équivaut à définir la valeur
0
.
Nom du paramètre | Valeurs | |
---|---|---|
runtimeconfig.json | N/A | N/A |
Variable d'environnement | COMPlus_PerfMapIgnoreSignal ou DOTNET_PerfMapIgnoreSignal |
0 - désactivé1 – activé |
Notes
Ce paramètre est ignoré si DOTNET_PerfMapEnabled est omis ou défini sur 0
(c’est-à-dire désactivé).