.NET Core'da hangi tanılama araçları kullanılabilir?
Makale
Yazılım her zaman beklediğiniz gibi davranmaz, ancak .NET Core'da bu sorunları hızlı ve etkili bir şekilde tanılamanıza yardımcı olacak araçlar ve API'ler vardır.
Bu makale, ihtiyacınız olan çeşitli araçları bulmanıza yardımcı olur.
Hata ayıklayıcı
Hata ayıklayıcılar programınızla etkileşim kurmanızı sağlar. Duraklatma, artımlı olarak yürütme, inceleme ve devam ettirmek, kodunuzun davranışı hakkında içgörü sağlar. Hata ayıklayıcı, kolayca yeniden oluşturulabilecek işlevsel sorunları tanılamak için iyi bir seçimdir.
Birim testi
Birim testi , yüksek kaliteli yazılımların sürekli tümleştirilmesi ve dağıtımının önemli bir bileşenidir. Birim testleri, bir şeyi kırdığınızda size erken uyarı verecek şekilde tasarlanmıştır.
Gözlemlenebilirlik için izleme
.NET ölçümleri, günlükleri ve dağıtılmış izlemeleri kullanarak endüstri standardı izleme tekniklerini destekler. İzleme, bir yazılım projesine ne yaptığını kaydetmek için eklenen koddur. Bu bilgiler daha sonra dosyalarda, veritabanlarında veya bellek içinde toplanabilir ve bir yazılım programının nasıl çalıştığını anlamak için analiz edilebilir. Bu genellikle üretim ortamlarında sorunları izlemek ve bunları tanılamak için kullanılır. .NET çalışma zamanı isteğe bağlı olarak etkinleştirilebilen yerleşik izleme özelliğine ve uygulamanız için özelleştirilmiş özel izleme eklemenize olanak sağlayan API'lere sahiptir.
Ölçümler
Ölçümler , uygulama performansını ve sistem durumunu izlemek için zaman içinde kaydedilen sayısal ölçümlerdir. Ölçümler genellikle olası sorunlar algılandığında uyarı oluşturmak için kullanılır. Ölçümlerin performans yükü çok düşüktür ve birçok hizmet bunları her zaman açık telemetri olarak yapılandırır.
Günlükler
Günlüğe kaydetme , kodun program çalışırken gerçekleşen ilginç olayların bir kaydı olan bir günlük oluşturmak için izlendiği bir tekniktir. Genellikle bir günlük olayları temel kümesi varsayılan olarak yapılandırılır ve belirli sorunları tanılamak için isteğe bağlı olarak daha kapsamlı günlük etkinleştirilebilir. Performans yükü, günlüğe kaydedilen veri miktarına bağlı olarak değişkendir.
Dağıtılmış izlemeler
Dağıtılmış İzleme , birden çok makine veya işlem arasında dağıtılan uygulamalardaki hataları ve performans sorunlarını yerelleştirmenize yardımcı olan özel bir günlük kaydı biçimidir. Bu teknik, farklı uygulama bileşenleri tarafından yapılan işleri bir arada ilişkilendiren ve eşzamanlı istekler için uygulamanın yaptığı diğer işlerden ayıran bir uygulama aracılığıyla istekleri izler. Performans ek yüküne bağlı olarak isteğe bağlı olarak her isteğin ve örneklemenin çalıştırılması mümkündür.
Dökümler
Döküm, oluşturma sırasında işlemin anlık görüntüsünü içeren bir dosyadır. Bunlar hata ayıklama amacıyla uygulamanızın durumunu incelemek için yararlı olabilir.
Simgeleri
Simgeler , kaynak kod ile derleyici tarafından üretilen ikili kod arasındaki eşlemedir. Bunlar genellikle .NET hata ayıklayıcıları tarafından kaynak satır numaralarını, yerel değişken adlarını ve diğer tanılama bilgileri türlerini çözümlemek için kullanılır.
Kapsayıcılarda tanılama toplama
Kapsayıcılı olmayan Linux ortamlarında kullanılan tanılama araçları, kapsayıcılardaki tanılamaları toplamak için de kullanılabilir. Araçların bir Docker kapsayıcısında çalışmasını sağlamak için yalnızca birkaç kullanım değişikliği gerekir.
.NET Core tanılama genel araçları
dotnet-counters
dotnet-counters , birinci düzey sistem durumu izleme ve performans araştırması için bir performans izleme aracıdır. API aracılığıyla EventCounter yayımlanan performans sayacı değerlerini gözlemler. Örneğin, CPU kullanımı veya .NET Core uygulamanızda oluşan özel durumların oranı gibi öğeleri hızla izleyebilirsiniz.
dotnet-dump
dotnet-dump aracı, yerel hata ayıklayıcı olmadan Windows ve Linux çekirdek dökümlerini toplayıp analiz etmenin bir yoludur.
dotnet-gcdump
dotnet-gcdump aracı, canlı .NET işlemlerinin GC (Çöp Toplayıcı) dökümlerini toplamanın bir yoludur.
dotnet-trace
.NET Core, tanılama verilerinin EventPipe kullanıma sunulduğu adı içerir. dotnet-trace aracı, uygulamaların yavaş çalışmasına neden olmanıza neden olan senaryolarda yardımcı olabilecek ilginç profil oluşturma verilerini uygulamanızdan kullanmanıza olanak tanır.
dotnet-stack
dotnet-stack aracı, çalışan bir .NET işlemindeki tüm iş parçacıkları için yönetilen yığınları hızla yazdırmanızı sağlar.
dotnet-symbol
dotnet-symbol , çekirdek dökümünü veya mini dökümü açmak için gereken dosyaları (semboller, DAC/DBI, konak dosyaları vb.) indirir. Farklı bir makinede yakalanan döküm dosyasında hata ayıklamak için simgelere ve modüllere ihtiyacınız varsa bu aracı kullanın.
PerfCollect, Linux dağıtımlarında çalışan .NET uygulamalarının daha ayrıntılı performans analizi için ve LTTng ile perf izlemeleri toplamak için kullanabileceğiniz bir bash betiğidir.
Web Uygulamasını Aşağı, Kilitlenme İzleme'yi ve Genie'ye sorun gidermeyi sorun. Uygulama ve platform kullanılabilirliğini izlemek, işlenmeyen özel durumları belirlemek, bellek dökümlerini ve çağrı yığınını yakalamak ve araştırma ve tanılama alanlarını bulmak için bu araçları kullanın.
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.