Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Cet article détaille les paramètres que vous pouvez utiliser pour configurer le débogage et le profilage .NET.
Note
À compter de .NET 11, les variables d’environnement du profileur prennent en charge les préfixes et DOTNET les CORECLR préfixes. Le DOTNET préfixe est la nouvelle norme ; CORECLR est maintenu pour la compatibilité descendante et peut être supprimé à l’avenir.
Activer les diagnostics
- Configure si le débogueur, le profileur et les diagnostics 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 sur
1.
| Nom du paramètre | Valeurs | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variable d'environnement | 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 sur
0. - Pour charger un profileur, outre l’activation du profilage, l’emplacement guid et profileur du profileur doivent également être configurés à l’aide de ces paramètres.
| Nom du paramètre | Valeurs | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variable d'environnement | DOTNET_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 ou DOTNET_PROFILER |
string-guid |
Emplacement du profileur
Une fois le profilage activé, le profileur peut être chargé de deux manières : avec des variables d’environnement (plat croisé) ou via le Registre (Windows uniquement). Les variables d’environnement du chemin du profileur sont prioritaires sur tout chemin de bibliothèque COM dans le Registre si les deux sont spécifiés.
Variable d’environnement (plat croisé)
- Spécifie le chemin d’accès à 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 bit sont prioritaires. Ils spécifient le bit de profileur à charger.
| Nom du paramètre | Valeurs | |
|---|---|---|
| Variable d'environnement |
CORECLR_PROFILER_PATH ou DOTNET_PROFILER_PATH |
chemin d’accès de chaîne |
| Variable d'environnement |
CORECLR_PROFILER_PATH_32 ou DOTNET_PROFILER_PATH_32 |
chemin d’accès de chaîne |
| Variable d'environnement |
CORECLR_PROFILER_PATH_64 ou DOTNET_PROFILER_PATH_64 |
chemin d’accès de chaîne |
| Variable d'environnement |
CORECLR_PROFILER_PATH_ARM32 ou DOTNET_PROFILER_PATH_ARM32 |
chemin d’accès de chaîne |
| Variable d'environnement |
CORECLR_PROFILER_PATH_ARM64 ou DOTNET_PROFILER_PATH_ARM64 |
chemin d’accès de chaîne |
Via le Registre (Windows uniquement)
Lorsque les DOTNET_PROFILER_PATH*variables d’environnement ne sont pas définies lors de l’exécution sur Windows, coreclr recherche le CLSID à partir du DOTNET_PROFILER Registre pour trouver le chemin complet de la DLL du profileur. Tout comme avec n’importe quelle DLL de serveur COM, le CLSID du profileur est recherché sous HKEY_CLASSES_ROOT, qui fusionne les classes de HKLM et HKCU.
Exporter des cartes perf et des vidages jit
- Active ou désactive les cartes perf ou les vidages jit. Ces fichiers permettent aux outils tiers, tels que l’outil Linux
perf, de fournir des noms lisibles pour le code généré dynamiquement et les modules ReadyToRun (R2R) générés dynamiquement. - Si vous omettez ce paramètre, l’écriture de fichiers de vidage perf et jit est désactivée. Ceci équivaut à définir la valeur sur
0. - Lorsque les mappages perf sont désactivés, tous les appels managés ne sont pas correctement résolus.
- Selon la version du noyau Linux, les deux formats sont pris en charge par l’outil
perf. - L’activation des cartes perf ou des vidages jit peut entraîner jusqu’à 20% surcharge, bien qu’il soit souvent beaucoup moins élevé. Pour réduire l’impact sur les performances, il est recommandé d’activer sélectivement les cartes perf ou les vidages jit, mais pas les deux. L’impact se produit uniquement pendant que l’application est du code JITing. Souvent, cela se produit au démarrage, mais il peut se produire ultérieurement si l’application exécute un nouveau chemin de code pour la première fois.
Le tableau suivant compare les cartes perf et les cartes jit.
| Format | Descriptif | Prise en charge sur |
|---|---|---|
| Mappages perf | Émet , qui contient des informations symboliques /tmp/perf-<pid>.mappour le code généré dynamiquement.Émet , qui inclut les /tmp/perfinfo-<pid>.mapinformations de symbole de module ReadyToRun (R2R) et est utilisée par PerfCollect. |
Les cartes Perf sont prises en charge sur toutes les versions du noyau Linux. |
| Vidages Jit | Le format de vidage jit remplace les mappages perf et contient des informations symboliques plus détaillées. Lorsque cette option est activée, les vidages jit sont générés dans /tmp/jit-<pid>.dump des fichiers. |
Versions du noyau Linux 5.4 ou ultérieures. |
| Nom du paramètre | Valeurs | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variable d'environnement | DOTNET_PerfMapEnabled |
0 - désactivé1 - cartes perf et vidages jit activés2 - vidages jit activés3 - mappages perf activés |
Marqueurs de journal perf
- Active ou désactive le signal spécifié à accepter et à ignorer en tant que marqueur dans les journaux d’activité perf.
- Si vous omettez ce paramètre, le signal spécifié n’est pas ignoré. Ceci équivaut à définir la valeur sur
0.
| Nom du paramètre | Valeurs | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variable d'environnement | DOTNET_PerfMapIgnoreSignal |
0 - désactivé1 – activé |
Note
Ce paramètre est ignoré si DOTNET_PerfMapEnabled est omis ou défini sur (c’est-à-dire 0 désactivé).