Hata ayıklama ve profil oluşturma için çalışma zamanı yapılandırma seçenekleri
Makale
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.
Dekont
.NET 6, .NET çalışma zamanı davranışını yapılandıran ortam değişkenleri yerine COMPlus_ ön eki DOTNET_ standartlaştırır. Ancak ön COMPlus_ ek çalışmaya devam eder. .NET çalışma zamanının önceki bir sürümünü kullanıyorsanız, ortam değişkenleri için ön eki kullanmaya COMPlus_ devam etmelisiniz.
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 adı
Değerler
runtimeconfig.json
Geçersiz
Geçersiz
Ortam değişkeni
COMPlus_EnableDiagnostics veya DOTNET_EnableDiagnostics
1 -Etkin 0 -Devre dışı
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.
Ayar adı
Değerler
runtimeconfig.json
Geçersiz
Geçersiz
Ortam değişkeni
CORECLR_ENABLE_PROFILING
0 -Devre dışı 1 -Etkin
Profil Oluşturucu GUID'i
Şu anda çalışan işleme yüklenecek profil oluşturucunun GUID'sini belirtir.
Ayar adı
Değerler
runtimeconfig.json
Geçersiz
Geçersiz
Ortam değişkeni
CORECLR_PROFILER
string-guid
Profil oluşturucu konumu
Ş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.
Performans haritalarını ve jit dökümlerini dışarı aktarma
Performans eşlemelerinin veya jit dökümlerinin seçmeli olarak etkinleştirilmesini etkinleştirir veya devre dışı bırakır. Bu dosyalar, Linux perf aracı gibi üçüncü taraf araçlarının dinamik olarak oluşturulan kod ve önceden derlenmiş ReadyToRun (R2R) modülleri için çağrı sitelerini tanımlaması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 perf desteklenir.
Performans eşlemelerinin veya jit dökümlerinin etkinleştirilmesi %10-20 ek yüke neden olur. 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.
Aşağıdaki tabloda performans eşlemeleri ve jit eşlemeleri karşılaştırır.
Biçimlendir
Açıklama
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 adı
Değerler
runtimeconfig.json
Geçersiz
Geçersiz
Ortam değişkeni
COMPlus_PerfMapEnabled veya DOTNET_PerfMapEnabled
0 -Devre dışı 1 - perf haritalar ve jit dökümleri her ikisi de etkin 2 - jit dökümleri etkin 3 - 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 adı
Değerler
runtimeconfig.json
Geçersiz
Geçersiz
Ortam değişkeni
COMPlus_PerfMapIgnoreSignal veya DOTNET_PerfMapIgnoreSignal
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.