Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a .NET-hibakeresés és -profilkészítés konfigurálásához használható beállításokat ismerteti.
Megjegyzés:
A .NET 11-től kezdődően a profiler környezeti változói mind az DOTNET előtagokat, mind CORECLR az előtagokat támogatják. Az DOTNET előtag az új szabvány; CORECLR a visszamenőleges kompatibilitás érdekében megmarad, és a jövőben el is távolítható.
Diagnosztika engedélyezése
- Konfigurálja, hogy a hibakereső, a profilkészítő és az EventPipe diagnosztika engedélyezve van-e vagy le van-e tiltva.
- Ha kihagyja ezt a beállítást, a diagnosztika engedélyezve van. Ez egyenértékű az érték
1beállításával.
| Név beállítása | Értékek | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Környezeti változó | DOTNET_EnableDiagnostics |
1 -Engedélyezve0 -fogyatékos |
Profilkészítés engedélyezése
- Konfigurálja, hogy a profilkészítés engedélyezve van-e az aktuálisan futó folyamathoz.
- Ha kihagyja ezt a beállítást, a profilkészítés le van tiltva. Ez egyenértékű az érték
0beállításával. - A profilozó betöltéséhez a profilkészítés engedélyezése mellett a profiler GUID-azonosítójának és a profiler helyének is konfigurálnia kell ezeket a beállításokat.
| Név beállítása | Értékek | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Környezeti változó | DOTNET_ENABLE_PROFILING |
0 -fogyatékos1 -Engedélyezve |
Profiler GUID
- Megadja a profilkészítőnek az aktuálisan futó folyamatba betöltendő GUID-azonosítóját.
| Név beállítása | Értékek | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Környezeti változó |
CORECLR_PROFILER vagy DOTNET_PROFILER |
sztring-guid |
Profilkészítő helye
A profilkészítés engedélyezése után a profilkészítő kétféleképpen tölthető be: környezeti változókkal (kereszt-plat) vagy a beállításjegyzéken keresztül (csak Windows rendszeren). Ha mindkettő meg van adva, a profilozó elérési útja környezeti változói elsőbbséget élveznek a beállításjegyzék bármely COM-kódtár-elérési útjára.
Környezeti változó (kereszt-plat)
- Megadja a profilkészítő DLL elérési útját a jelenleg futó folyamatba (vagy 32 bites vagy 64 bites folyamatba) való betöltéséhez.
- Ha egynél több változó van beállítva, a bitness-specifikus változók elsőbbséget élveznek. Megadják a profilkészítő betöltendő bitképességét.
| Név beállítása | Értékek | |
|---|---|---|
| Környezeti változó |
CORECLR_PROFILER_PATH vagy DOTNET_PROFILER_PATH |
sztring-elérési út |
| Környezeti változó |
CORECLR_PROFILER_PATH_32 vagy DOTNET_PROFILER_PATH_32 |
sztring-elérési út |
| Környezeti változó |
CORECLR_PROFILER_PATH_64 vagy DOTNET_PROFILER_PATH_64 |
sztring-elérési út |
| Környezeti változó |
CORECLR_PROFILER_PATH_ARM32 vagy DOTNET_PROFILER_PATH_ARM32 |
sztring-elérési út |
| Környezeti változó |
CORECLR_PROFILER_PATH_ARM64 vagy DOTNET_PROFILER_PATH_ARM64 |
sztring-elérési út |
A beállításjegyzéken keresztül (csak Windows rendszeren)
Ha a DOTNET_PROFILER_PATH*környezeti változók nincsenek beállítva a Windows rendszeren való futtatás során, a coreclr megkeresi a CLSID-t a beállításjegyzékből DOTNET_PROFILER , és megkeresi a profilkészítő DLL-jének teljes elérési útját. A COM-kiszolgáló DLL-jeihez hasonlóan a profilkészítő CLSID-je is HKEY_CLASSES_ROOT alatt található, amely egyesíti a HKLM és a HKCU osztályait.
Perf térképek és jit-memóriaképek exportálása
- Engedélyezi vagy letiltja a perf térképeket vagy jit-memóriaképeket. Ezek a fájlok lehetővé teszik a külső eszközök, például a Linux
perfeszköz számára, hogy emberileg olvasható neveket adjanak a dinamikusan létrehozott kódhoz és az előre összeállított ReadyToRun (R2R) modulokhoz. - Ha kihagyja ezt a beállítást, a perf map és a jit dump fájlok írása is le van tiltva. Ez egyenértékű az érték
0beállításával. - Ha a perf térképek le vannak tiltva, nem minden felügyelt hívási webhely lesz megfelelően feloldva.
- A Linux kernel verziójától függően az eszköz mindkét formátumot támogatja
perf. - A perf térképek vagy jit memóriaképek engedélyezése akár 20% többletterhelést is okozhat, bár gyakran sokkal kevesebb. A teljesítményre gyakorolt hatás minimalizálása érdekében ajánlott szelektíven engedélyezni a perf térképeket vagy a jit-memóriaképeket, de mindkettőt nem. A hatás csak akkor jelentkezik, ha az alkalmazás JITing-kód. Ez gyakran az indításkor fordul elő, de később előfordulhat, ha az alkalmazás először futtat egy új kódútvonalat.
Az alábbi táblázat a perf térképeket és a jit-térképeket hasonlítja össze.
| Formátum | Description | Támogatott: |
|---|---|---|
| Perf térképek | Kibocsát, /tmp/perf-<pid>.mapamely szimbolikus információkat tartalmaz a dinamikusan létrehozott kódhoz.Bocsát ki /tmp/perfinfo-<pid>.map, amely tartalmazza a ReadyToRun (R2R) modul szimbólumadatait, és amelyet a PerfCollect használ. |
A perf térképek minden Linux kernelverzióban támogatottak. |
| Jit-memóriaképek | A jit memóriakép formátuma felülírja a perf térképeket, és részletesebb szimbolikus információkat tartalmaz. Ha engedélyezve van, a jit memóriaképek fájlokat eredményeznek /tmp/jit-<pid>.dump . |
Linux kernel 5.4-ös vagy újabb verziói. |
| Név beállítása | Értékek | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Környezeti változó | DOTNET_PerfMapEnabled |
0 -fogyatékos1 - a perf térképek és a jit memóriaképek engedélyezve2 - jit memóriaképek engedélyezve3 - a perf térképek engedélyezve |
Perf naplójelölők
- Engedélyezi vagy letiltja a megadott jel elfogadását és figyelmen kívül hagyását a perf naplók jelölőjeként.
- Ha kihagyja ezt a beállítást, a rendszer nem hagyja figyelmen kívül a megadott jelet. Ez egyenértékű az érték
0beállításával.
| Név beállítása | Értékek | |
|---|---|---|
| runtimeconfig.json | N/A | N/A |
| Környezeti változó | DOTNET_PerfMapIgnoreSignal |
0 -fogyatékos1 -Engedélyezve |
Megjegyzés:
Ez a beállítás figyelmen kívül lesz hagyva , ha a DOTNET_PerfMapEnabled nincs megadva vagy be van állítva 0 (azaz le van tiltva).