Bu makalede.NET'te dökümleri toplama hakkında sık sorulan sorular yanıtlar.
Linux'ta neden yalnızca [dotnet-dump](dotnet-dump.md) veya [kilitlenme işlemim](dumps.md#collect-dumps-on-crash) yükseltilmiş çalışıyorsa dökümleri alıyorum?
Linux tabanlı sistemlerde kimlerin /proc/sys/kernel/ptrace_scope
çağrılabileceğini ptrace
ve hangi işlemlerin izleyebileceğinizi denetler. olarak ayarlanmasını 1
öneririz; yani yalnızca aynı ata zincirindeki işlemler izlenebilir olarak kullanılabilir. Bundan daha yüksek bir değer yükseltme gerektirir veya tamamen devre dışı bırakabilir ptrace
.
Kapsayıcı içinde çalışırken neden dökümleri toplamıyorum?
Herhangi bir Open Container Initiative teknolojisi altında çalışan uygulamalar için profilin seccomp
çağrısına ptrace
izin vermesi gerekir. Örneğin, Docker
kapsayıcı çalışma zamanı olarak kaputun altında kapsayıcılı kullanır. Çalışma zamanını başlatırken, yalnızca kapsayıcı konağı 4.8'den yüksek bir çekirdek sürümüne sahipse veya özellik belirtilmişse CAP_SYS_PTRACE
izin veren ptrace
varsayılan bir seccomp profili belirtir.
MacOS'ta dökümleri neden toplayamam?
macOS'ta kullanımı ptrace
, hedef işlemin konağına düzgün bir şekilde hak kazanmasını gerektirir. Gerekli en düşük yetkilendirmeler hakkında bilgi için bkz . Varsayılan yetkilendirmeler.
.NET uygulamamdaki sorunları tanılamaya yardımcı olmak için dökümleri nasıl kullanabileceğim hakkında nereden daha fazla bilgi edinebilirim?
Bazı ek kaynaklar şunlardır:
"Uyumlu bir çerçeve sürümü bulmak mümkün değildi" sorununu nasıl çözebilirim?
Linux'ta ortam DOTNET_ROOT
değişkeni ayarlandığında doğru klasöre işaret etmelidir. Başka bir .NET sürümüne işaret ettiğinde her dotnet-dump
zaman bu hatayı üretir. DOTNET_ROOT
Ortam değişkeni ayarlı olmadığında farklı bir hata oluşturulur ("Bu uygulamayı çalıştırmak için .NET'i yüklemelisiniz").