Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, .NET hata ayıklama ve profil oluşturmayı yapılandırmak için kullanabileceğiniz ayarlar ayrıntılı olarak anlatılır.
Uyarı
.NET 11'den başlayarak profil oluşturucu ortam değişkenleri hem hem de DOTNETCORECLR ön ekleri destekler. Ön DOTNET ek yeni standarttır; CORECLR geriye dönük uyumluluk için korunur ve gelecekte kaldırılabilir.
Tanılamayı etkinleştirme
- Hata ayıklayıcının, profil oluşturucunun ve EventPipe tanılamalarının etkinleştirilip etkinleştirilmediğini veya devre dışı bırakılıp bırakılmayacağını yapılandırılır.
- Bu ayarı atlarsanız tanılama etkinleştirilir. Bu, değerini
1olarak ayarlamakla eşdeğerdir.
| Ayarın adı | Değerler | |
|---|---|---|
| runtimeconfig.json | Mevcut Değil | Mevcut Değil |
| Ortam değişkeni | DOTNET_EnableDiagnostics |
1 -Etkin0 -sakat |
Profil oluşturmayı etkinleştirme
- Şu anda çalışan işlem için profil oluşturmanın etkinleştirilip etkinleştirilmediğini yapılandırılır.
- Bu ayarı atlarsanız profil oluşturma devre dışı bırakılır. Bu, değerini
0olarak ayarlamakla eşdeğerdir. - Profil oluşturucuyu yüklemek için profil oluşturmayı etkinleştirmenin yanı sıra profil oluşturucu GUID'sinin ve profil oluşturucu konumunun da bu ayarlar kullanılarak yapılandırılması gerekir.
| Ayarın adı | Değerler | |
|---|---|---|
| runtimeconfig.json | Mevcut Değil | Mevcut Değil |
| Ortam değişkeni | DOTNET_ENABLE_PROFILING |
0 -sakat1 -Etkin |
Profil Oluşturucu GUID'i
- Şu anda çalışan işleme yüklenecek profil oluşturucunun GUID'sini belirtir.
| Ayarın adı | Değerler | |
|---|---|---|
| runtimeconfig.json | Mevcut Değil | Mevcut Değil |
| Ortam değişkeni |
CORECLR_PROFILER veya DOTNET_PROFILER |
string-guid |
Profil oluşturucu konumu
Profil oluşturma etkinleştirildikten sonra profil oluşturucu iki şekilde yüklenebilir: ortam değişkenleriyle (çapraz platform) veya kayıt defteri aracılığıyla (yalnızca Windows). Profil oluşturucu yolu ortam değişkenleri, her ikisi de belirtilirse kayıt defterindeki herhangi bir COM kitaplık yolundan önceliklidir.
Ortam değişkeni (çapraz platform)
- Şu anda çalışan işleme (veya 32 bit veya 64 bit işleme) yüklenecek profil oluşturucu DLL'sinin yolunu belirtir.
- Birden fazla değişken ayarlanırsa, bitliğe özgü değişkenler önceliklidir. Profil oluşturucunun yüklenecek bit değerini belirtir.
| Ayarın adı | Değerler | |
|---|---|---|
| Ortam değişkeni |
CORECLR_PROFILER_PATH veya DOTNET_PROFILER_PATH |
dize yolu |
| Ortam değişkeni |
CORECLR_PROFILER_PATH_32 veya DOTNET_PROFILER_PATH_32 |
dize yolu |
| Ortam değişkeni |
CORECLR_PROFILER_PATH_64 veya DOTNET_PROFILER_PATH_64 |
dize yolu |
| Ortam değişkeni |
CORECLR_PROFILER_PATH_ARM32 veya DOTNET_PROFILER_PATH_ARM32 |
dize yolu |
| Ortam değişkeni |
CORECLR_PROFILER_PATH_ARM64 veya DOTNET_PROFILER_PATH_ARM64 |
dize yolu |
Kayıt defteri aracılığıyla (yalnızca Windows)
DOTNET_PROFILER_PATH*
Ortam değişkenleri Windows üzerinde çalışırken ayarlanmamışsa coreclr, profil oluşturucunun DLL'sinin tam yolunu bulmak için kayıt defterinden CLSID'yi DOTNET_PROFILER arar. Herhangi bir COM sunucusu DLL'sinde olduğu gibi profil oluşturucunun CLSID'si de HKEY_CLASSES_ROOT altında aranır ve bu da HKLM ve HKCU sınıflarını birleştirir.
Performans haritalarını ve jit dökümlerini dışarı aktarma
- Performans eşlemelerini veya jit dökümlerini etkinleştirir veya devre dışı bırakır. Bu dosyalar, Linux
perfaracı gibi üçüncü taraf araçlarının dinamik olarak oluşturulan kod ve önceden derlenmiş ReadyToRun (R2R) modülleri için okunabilir adlar sağlamasına olanak sağlar. - Bu ayarı atlarsanız, performans eşlemesi ve jit dökümü dosyalarının her ikisi de devre dışı bırakılır. Bu, değerini
0olarak ayarlamakla eşdeğerdir. - Performans eşlemeleri devre dışı bırakıldığında, tüm yönetilen çağrı siteleri düzgün çözümlenmez.
- Linux çekirdek sürümüne bağlı olarak, her iki biçim de araç tarafından
perfdesteklenir. - Performans eşlemelerinin veya jit dökümlerinin etkinleştirilmesi 20% ek yüke neden olabilir, ancak genellikle çok daha azdır. Performans etkisini en aza indirmek için performans eşlemelerini veya jit dökümlerini seçmeli olarak etkinleştirmeniz önerilir, ancak her ikisini birden etkinleştirmeniz önerilmez. Etki yalnızca uygulama JITing kodu olduğunda oluşur. Genellikle başlangıçta gerçekleşir, ancak daha sonra uygulama ilk kez yeni bir kod yolu çalıştırıyorsa oluşabilir.
Aşağıdaki tabloda performans eşlemeleri ve jit eşlemeleri karşılaştırır.
| Biçim | Description | Desteklenme tarihi: |
|---|---|---|
| Performans haritaları |
/tmp/perf-<pid>.mapDinamik olarak oluşturulan kod için sembolik bilgiler içeren öğesini yayar./tmp/perfinfo-<pid>.mapReadyToRun (R2R) modülü sembol bilgilerini içeren ve PerfCollect tarafından kullanılan öğesini yayar. |
Performans eşlemeleri tüm Linux çekirdek sürümlerinde desteklenir. |
| Jit dökümleri | Jit döküm biçimi, performans eşlemelerinin yerini alır ve daha ayrıntılı sembolik bilgiler içerir. Etkinleştirildiğinde, dosyalara /tmp/jit-<pid>.dump jit dökümleri çıkışı yapılır. |
Linux çekirdek sürümleri 5.4 veya üzeri. |
| Ayarın adı | Değerler | |
|---|---|---|
| runtimeconfig.json | Mevcut Değil | Mevcut Değil |
| Ortam değişkeni | DOTNET_PerfMapEnabled |
0 -sakat1 - perf haritalar ve jit dökümleri her ikisi de etkin2 - jit dökümleri etkin3 - performans haritaları etkin |
Performans günlüğü işaretçileri
- Belirtilen sinyalin performans günlüklerinde işaretleyici olarak kabul edilmesi ve yoksayılması için etkinleştirir veya devre dışı bırakır.
- Bu ayarı atlarsanız, belirtilen sinyal yoksayılmaz. Bu, değerini
0olarak ayarlamakla eşdeğerdir.
| Ayarın adı | Değerler | |
|---|---|---|
| runtimeconfig.json | Mevcut Değil | Mevcut Değil |
| Ortam değişkeni | DOTNET_PerfMapIgnoreSignal |
0 -sakat1 -Etkin |
Uyarı
DOTNET_PerfMapEnabled atlanırsa veya olarak ayarlanırsa 0 (yani devre dışı bırakıldıysa) bu ayar yoksayılır.