Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden de instellingen beschreven die u kunt gebruiken voor het configureren van .NET-foutopsporing en -profilering.
Opmerking
Vanaf .NET 11 ondersteunen profiler-omgevingsvariabelen zowel DOTNETCORECLR als voorvoegsels. Het DOTNET voorvoegsel is de nieuwe standaard; CORECLR wordt gehandhaafd voor achterwaartse compatibiliteit en kan in de toekomst worden verwijderd.
Diagnostische gegevens inschakelen
- Hiermee configureert u of het foutopsporingsprogramma, de profiler en de diagnostische gegevens van EventPipe zijn ingeschakeld of uitgeschakeld.
- Als u deze instelling weglaat, worden diagnostische gegevens ingeschakeld. Dit komt overeen met het instellen van de waarde op
1.
| Instellingsnaam | Waarden | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Omgevingsvariabele | DOTNET_EnableDiagnostics |
1 -Ingeschakeld0 -invalide |
Profilering inschakelen
- Hiermee configureert u of profilering is ingeschakeld voor het actieve proces.
- Als u deze instelling weglaat, wordt profilering uitgeschakeld. Dit komt overeen met het instellen van de waarde op
0. - Als u een profiler wilt laden, moet naast het inschakelen van profilering ook de profiler-GUID en profilerlocatie worden geconfigureerd met behulp van deze instellingen.
| Instellingsnaam | Waarden | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Omgevingsvariabele | DOTNET_ENABLE_PROFILING |
0 -invalide1 -Ingeschakeld |
Profiler-GUID
- Hiermee geeft u de GUID van de profiler die moet worden geladen in het actieve proces.
| Instellingsnaam | Waarden | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Omgevingsvariabele |
CORECLR_PROFILER of DOTNET_PROFILER |
tekenreeks-guid |
Profilerlocatie
Zodra profilering is ingeschakeld, kan de profiler op twee manieren worden geladen: met omgevingsvariabelen (cross-plat) of via het register (alleen Windows). De omgevingsvariabelen van het profilerpad hebben voorrang op elk COM-bibliotheekpad in het register als beide zijn opgegeven.
Omgevingsvariabele (cross-plat)
- Hiermee geeft u het pad naar de profiler-DLL om te laden in het actieve proces (of 32-bits of 64-bits proces).
- Als er meer dan één variabele is ingesteld, hebben de bitnessspecifieke variabelen voorrang. Ze geven aan welke bitness van profiler moet worden geladen.
| Instellingsnaam | Waarden | |
|---|---|---|
| Omgevingsvariabele |
CORECLR_PROFILER_PATH of DOTNET_PROFILER_PATH |
tekenreekspad |
| Omgevingsvariabele |
CORECLR_PROFILER_PATH_32 of DOTNET_PROFILER_PATH_32 |
tekenreekspad |
| Omgevingsvariabele |
CORECLR_PROFILER_PATH_64 of DOTNET_PROFILER_PATH_64 |
tekenreekspad |
| Omgevingsvariabele |
CORECLR_PROFILER_PATH_ARM32 of DOTNET_PROFILER_PATH_ARM32 |
tekenreekspad |
| Omgevingsvariabele |
CORECLR_PROFILER_PATH_ARM64 of DOTNET_PROFILER_PATH_ARM64 |
tekenreekspad |
Via het register (alleen Windows)
Wanneer de DOTNET_PROFILER_PATH*omgevingsvariabelen niet zijn ingesteld tijdens het uitvoeren in Windows, zoekt Coreclr de CLSID uit DOTNET_PROFILER het register op om het volledige pad naar het DLL-bestand van de profiler te vinden. Net als bij een COM-server-DLL wordt de CLSID van de profiler opgezoekd onder HKEY_CLASSES_ROOT, waarmee de klassen van HKLM en HKCU worden samengevoegd.
Perf-kaarten en jit-dumps exporteren
- Hiermee schakelt u perf-kaarten of jit-dumps in of uit. Met deze bestanden kunnen hulpprogramma's van derden, zoals het Linux-hulpprogramma
perf, door mensen leesbare namen worden geboden voor dynamisch gegenereerde code- en vooraf gecompileerde ReadyToRun-modules (R2R). - Als u deze instelling weglaat, worden perf-toewijzings- en jitdumpbestanden beide uitgeschakeld. Dit komt overeen met het instellen van de waarde op
0. - Wanneer perf-kaarten zijn uitgeschakeld, worden niet alle beheerde oproepsites correct opgelost.
- Afhankelijk van de Linux-kernelversie worden beide indelingen ondersteund door het
perfhulpprogramma. - Het inschakelen van perf-kaarten of jit-dumps kan tot 20% overhead veroorzaken, hoewel dit vaak veel minder is. Als u de invloed van de prestaties wilt minimaliseren, wordt u aangeraden selectief perf-kaarten of jit-dumps in te schakelen, maar niet beide. De impact treedt alleen op terwijl de toepassing JITing-code is. Dit gebeurt vaak bij het opstarten, maar het kan later gebeuren als de toepassing voor het eerst een nieuw codepad uitvoert.
In de volgende tabel worden prestatiekaarten en jit-kaarten vergeleken.
| Formaat | Description | Ondersteund op |
|---|---|---|
| Perf-kaarten |
/tmp/perf-<pid>.mapVerzendt, dat symbolische informatie bevat voor dynamisch gegenereerde code./tmp/perfinfo-<pid>.mapVerzendt, met informatie over het symbool van de ReadyToRun-module (R2R) en wordt gebruikt door PerfCollect. |
Prestatietoewijzingen worden ondersteund in alle Linux-kernelversies. |
| Jit-dumps | De jit-dumpindeling vervangt perf-kaarten en bevat meer gedetailleerde symbolische informatie. Wanneer deze optie is ingeschakeld, worden jit-dumps uitgevoerd naar /tmp/jit-<pid>.dump bestanden. |
Linux-kernelversies 5.4 of hoger. |
| Instellingsnaam | Waarden | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Omgevingsvariabele | DOTNET_PerfMapEnabled |
0 -invalide1 - perf-kaarten en jit-dumps beide ingeschakeld2 - Jit-dumps ingeschakeld3 - perf-kaarten ingeschakeld |
Prestatielogboekmarkeringen
- Hiermee schakelt u het opgegeven signaal in of uit om te worden geaccepteerd en genegeerd als een markering in de perf-logboeken.
- Als u deze instelling weglaat, wordt het opgegeven signaal niet genegeerd. Dit komt overeen met het instellen van de waarde op
0.
| Instellingsnaam | Waarden | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Omgevingsvariabele | DOTNET_PerfMapIgnoreSignal |
0 -invalide1 -Ingeschakeld |
Opmerking
Deze instelling wordt genegeerd als DOTNET_PerfMapEnabled wordt weggelaten of is ingesteld 0 op (dat wil gezegd, uitgeschakeld).