Hata ayıklama ve profil oluşturma için çalışma zamanı yapılandırma seçenekleri
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
1
olarak ayarlamakla eşdeğerdir.
Ayar adı | Değerler | |
---|---|---|
runtimeconfig.json | Geçersiz | Geçersiz |
Ortam değişkeni | COMPlus_EnableDiagnostics veya DOTNET_EnableDiagnostics |
1 -Etkin0 -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
0
olarak 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.
- Daha fazla bilgi için bkz . Profil oluşturucu kitaplığını bulma.
Ayar adı | Değerler | |
---|---|---|
Ortam değişkeni | CORECLR_PROFILER_PATH |
dize yolu |
Ortam değişkeni | CORECLR_PROFILER_PATH_32 |
dize yolu |
Ortam değişkeni | CORECLR_PROFILER_PATH_64 |
dize yolu |
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
0
olarak 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>.map Dinamik olarak oluşturulan kod için sembolik bilgiler içeren öğesini yayar./tmp/perfinfo-<pid>.map ReadyToRun (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 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
0
olarak ayarlamakla eşdeğerdir.
Ayar adı | Değerler | |
---|---|---|
runtimeconfig.json | Geçersiz | Geçersiz |
Ortam değişkeni | COMPlus_PerfMapIgnoreSignal veya DOTNET_PerfMapIgnoreSignal |
0 -Devre dışı1 -Etkin |
Dekont
DOTNET_PerfMapEnabled atlanırsa veya olarak ayarlanırsa 0
(yani devre dışı bırakıldıysa) bu ayar yoksayılır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin