Opzioni di configurazione del runtime per il debug e la profilatura
Questo articolo illustra nel dettaglio le impostazioni che è possibile usare per configurare il debug e la profilatura .NET.
Nota
.NET 6 standardizza il prefisso DOTNET_
anziché COMPlus_
per le variabili di ambiente che configurano il comportamento di runtime di .NET. Tuttavia, il prefisso COMPlus_
continuerà a funzionare. Se si usa una versione precedente del runtime .NET, è comunque consigliabile usare il prefisso COMPlus_
per le variabili di ambiente.
- Configura se il debugger, il profiler e la diagnostica EventPipe sono abilitati o disabilitati.
- Se si omette questa impostazione, la diagnostica è abilitata. Equivale a impostare il valore su
1
.
Nome impostazione | Valori | |
---|---|---|
runtimeconfig.json | N/D | N/D |
Variabile di ambiente | COMPlus_EnableDiagnostics oppure DOTNET_EnableDiagnostics |
1 - abilitata0 - disabilitata |
- Configura se la profilatura è abilitata per il processo in esecuzione.
- Se si omette questa impostazione, la profilatura è disabilitata. Equivale a impostare il valore su
0
.
Nome impostazione | Valori | |
---|---|---|
runtimeconfig.json | N/D | N/D |
Variabile di ambiente | CORECLR_ENABLE_PROFILING |
0 - disabilitata1 - abilitata |
- Specifica il GUID del profiler da caricare nel processo in esecuzione.
Nome impostazione | Valori | |
---|---|---|
runtimeconfig.json | N/D | N/D |
Variabile di ambiente | CORECLR_PROFILER |
stringa-guid |
- Specifica il percorso della DLL del profiler da caricare nel processo in esecuzione (o processo a 32 bit o a 64 bit).
- Se sono impostate più variabili, le variabili specifiche per il numero di bit hanno la precedenza. Specificano il numero di bit del profiler da caricare.
- Per altre informazioni, vedere Ricerca della libreria del profiler.
Nome impostazione | Valori | |
---|---|---|
Variabile di ambiente | CORECLR_PROFILER_PATH |
stringa_percorso |
Variabile di ambiente | CORECLR_PROFILER_PATH_32 |
stringa_percorso |
Variabile di ambiente | CORECLR_PROFILER_PATH_64 |
stringa_percorso |
- Abilita o disabilita l'abilitazione selettiva delle mappe delle prestazioni o dei dump jit. Questi file consentono agli strumenti di terze parti, ad esempio lo strumento Linux
perf
, di identificare i siti di chiamata per il codice generato dinamicamente e i moduli ReadyToRun (R2R) precompilati. - Se si omette questa impostazione, la scrittura di mappe delle prestazioni e i file di dump jit vengono entrambi disabilitati. Equivale a impostare il valore su
0
. - Quando le mappe delle prestazioni sono disabilitate, non tutti i siti di chiamata gestiti verranno risolti correttamente.
- A seconda della versione del kernel Linux, entrambi i formati sono supportati dallo strumento
perf
. - L'abilitazione delle mappe delle prestazioni o dei dump jit causa un sovraccarico del 10-20%. Per ridurre al minimo l'impatto sulle prestazioni, è consigliabile abilitare in modo selettivo le mappe delle prestazioni o i dump jit, ma non entrambi.
Nella tabella seguente vengono confrontate le mappe delle prestazioni e le mappe jit.
Formato | Descrizione | Supportati in |
---|---|---|
Mappe delle prestazioni | Genera /tmp/perf-<pid>.map , che contiene informazioni simboliche per il codice generato in modo dinamico.Genera /tmp/perfinfo-<pid>.map , che include informazioni sui simboli del modulo ReadyToRun (R2R) e viene usato da PerfCollect. |
Le mappe delle prestazioni sono supportate in tutte le versioni del kernel Linux. |
Dump jit | Il formato di dump jit sostituisce le mappe delle prestazioni e contiene informazioni simboliche più dettagliate. Se abilitati, l'output dei dump jit viene inserito in file /tmp/jit-<pid>.dump . |
Kernel Linux versione 5.4 o successiva. |
Nome impostazione | Valori | |
---|---|---|
runtimeconfig.json | N/D | N/D |
Variabile di ambiente | COMPlus_PerfMapEnabled oppure DOTNET_PerfMapEnabled |
0 - disabilitata1 - mappe delle prestazioni e dump jit entrambi abilitati2 - Dump jit abilitati3 - Mappe delle prestazioni abilitate |
- Abilita o disabilita il segnale specificato in modo che sia accettato o ignorato come indicatore nei log delle prestazioni.
- Se si omette questa impostazione, il segnale specificato non viene ignorato. Equivale a impostare il valore su
0
.
Nome impostazione | Valori | |
---|---|---|
runtimeconfig.json | N/D | N/D |
Variabile di ambiente | COMPlus_PerfMapIgnoreSignal oppure DOTNET_PerfMapIgnoreSignal |
0 - disabilitata1 - abilitata |
Nota
Questa impostazione viene ignorata se l'impostazione DOTNET_PerfMapEnabled viene omessa o impostata su 0
(ovvero disabilitata).
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: