Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo detalha as configurações que você pode usar para configurar a depuração e a criação de perfil do .NET.
Observação
A partir do .NET 11, as variáveis do ambiente do profiler suportam tanto DOTNET os prefixos como CORECLR os próprios. O DOTNET prefixo é o novo padrão; CORECLR é mantido para compatibilidade retrocedente e poderá ser removido no futuro.
Ativar diagnósticos
- Configura se o depurador, o criador de perfil e o diagnóstico do EventPipe estão habilitados ou desabilitados.
- Se você omitir essa configuração, o diagnóstico será habilitado. Isso equivale a definir o valor como
1.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variável de ambiente | DOTNET_EnableDiagnostics |
1 - ativado0 - deficientes |
Ativar criação de perfil
- Configura se a criação de perfil está habilitada para o processo em execução no momento.
- Se você omitir essa configuração, a criação de perfil será desabilitada. Isso equivale a definir o valor como
0. - Para carregar um perfilador, além de ativar o perfil, o GUID e a localização do perfilador também precisam de ser configurados usando estas definições.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variável de ambiente | DOTNET_ENABLE_PROFILING |
0 - deficientes1 - ativado |
GUID do criador de perfil
- Especifica o GUID do criador de perfil a ser carregado no processo em execução no momento.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variável de ambiente |
CORECLR_PROFILER ou DOTNET_PROFILER |
string-guid |
Localização do criador de perfil
Uma vez ativado o perfil, o perfilador pode ser carregado de duas formas: com variáveis de ambiente (cross-plat) ou através do registo (apenas Windows). As variáveis de ambiente do caminho do perfilador têm precedência sobre qualquer caminho da biblioteca COM no registo, se ambos forem especificados.
Variável de ambiente (cross-plot)
- Especifica o caminho para a DLL do criador de perfil a ser carregada no processo em execução no momento (ou processo de 32 bits ou 64 bits).
- Se mais de uma variável for definida, as variáveis específicas de bitness terão precedência. Eles especificam qual bitness do profiler carregar.
| Nome da configuração | Valores | |
|---|---|---|
| Variável de ambiente |
CORECLR_PROFILER_PATH ou DOTNET_PROFILER_PATH |
caminho da cadeia de caracteres |
| Variável de ambiente |
CORECLR_PROFILER_PATH_32 ou DOTNET_PROFILER_PATH_32 |
caminho da cadeia de caracteres |
| Variável de ambiente |
CORECLR_PROFILER_PATH_64 ou DOTNET_PROFILER_PATH_64 |
caminho da cadeia de caracteres |
| Variável de ambiente |
CORECLR_PROFILER_PATH_ARM32 ou DOTNET_PROFILER_PATH_ARM32 |
caminho da cadeia de caracteres |
| Variável de ambiente |
CORECLR_PROFILER_PATH_ARM64 ou DOTNET_PROFILER_PATH_ARM64 |
caminho da cadeia de caracteres |
Através do registo (apenas Windows)
Quando as DOTNET_PROFILER_PATH*variáveis de ambiente não estão definidas durante a execução no Windows, o coreclr procura o CLSID no DOTNET_PROFILER registo para encontrar o caminho completo até à DLL do profiler. Tal como em qualquer DLL de servidor COM, o CLSID do profiler é consultado em HKEY_CLASSES_ROOT, o que funde as classes do HKLM e do HKCU.
Exportar mapas de perf e jit dumps
- Habilita ou desabilita mapas perf ou jit dumps. Esses arquivos permitem que ferramentas de terceiros, como a ferramenta Linux
perf, forneçam nomes legíveis por humanos para código gerado dinamicamente e módulos ReadyToRun (R2R) pré-compilados. - Se você omitir essa configuração, a gravação de arquivos perf map e jit dump será desabilitada. Isso equivale a definir o valor como
0. - Quando os mapas perf são desativados, nem todos os sites de chamada gerenciados serão resolvidos corretamente.
- Dependendo da versão do kernel Linux, ambos os formatos são suportados
perfpela ferramenta. - Habilitar mapas de perf ou jit dumps pode causar até 20% de sobrecarga, embora muitas vezes seja muito menor. Para minimizar o impacto no desempenho, é recomendável habilitar seletivamente mapas perf ou jit dumps, mas não ambos. O impacto ocorre apenas enquanto o aplicativo é código JITing. Muitas vezes, isso ocorre na inicialização, mas pode ocorrer mais tarde se o aplicativo estiver executando um novo caminho de código pela primeira vez.
A tabela a seguir compara mapas perf e jit maps.
| Formato | Description | Suportado em |
|---|---|---|
| Mapas de Perf | Emite /tmp/perf-<pid>.map, que contém informações simbólicas para código gerado dinamicamente./tmp/perfinfo-<pid>.mapEmite , que inclui informações do símbolo do módulo ReadyToRun (R2R) e é usado pelo PerfCollect. |
Os mapas Perf são suportados em todas as versões do kernel Linux. |
| Despejos de Jit | O formato jit dump substitui os mapas perf e contém informações simbólicas mais detalhadas. Quando ativado, os despejos jit são enviados para /tmp/jit-<pid>.dump arquivos. |
Linux kernel versões 5.4 ou superior. |
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variável de ambiente | DOTNET_PerfMapEnabled |
0 - deficientes1 - Mapas Perf e Jit Dumps ambos ativados2 - Dumps JIT ativados3 - Mapas PERF ativados |
Marcadores de log Perf
- Habilita ou desabilita o sinal especificado a ser aceito e ignorado como um marcador nos logs de perf.
- Se você omitir essa configuração, o sinal especificado não será ignorado. Isso equivale a definir o valor como
0.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Variável de ambiente | DOTNET_PerfMapIgnoreSignal |
0 - deficientes1 - ativado |
Observação
Essa configuração será ignorada se DOTNET_PerfMapEnabled for omitida ou definida como 0 (ou seja, desabilitada).