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.
Uyarı
Anlık görüntü hata ayıklaması kullanım dışı bırakıldı ve artık Visual Studio 2022 ve sonraki sürümlerin en son sürümlerinde kullanılamayacak. Tam olarak değiştirilmemiş olsa da, yararlı tanılamalar sağlayabilecek başka araçlar da vardır:
Snapshot Debugger, ilgilendiğiniz kod yürütülürken üretim içi uygulamalarınızın anlık görüntüsünü alır. Hata ayıklayıcıya bir anlık görüntü almasını bildirmek için, kodunuzda anlık görüntü noktaları ve günlük noktaları ayarlarsınız. Hata ayıklayıcı, üretim uygulamanızın trafiğini etkilemeden tam olarak neyin yanlış gittiğini görmenizi sağlar. Snapshot Debugger, üretim ortamlarında oluşan sorunları çözmek için gereken süreyi önemli ölçüde azaltmanıza yardımcı olabilir.
Anlık görüntü noktaları ve günlüğe kaydetme noktaları kesme noktalarına benzer ancak kesme noktalarından farklı olarak bunlara gelindiğinde uygulama durmaz. Genellikle anlık görüntü yakalama işlemi bir snappoint'te 10-20 milisaniye sürer.
Bu kılavuzda aşağıdakileri yapacaksınız:
- Snapshot Debugger'ı başlatma
- Tutturma noktası ayarlama ve anlık görüntüyü görüntüleme
- Günlük noktası belirle
Önkoşullar
Azure Sanal Makineler (VM) ve Azure Sanal Makine Ölçek Kümeleri için Snapshot Debugger yalnızca Azure geliştirme iş yüküyle Visual Studio 2019 Enterprise veya üzeri sürümlerde kullanılabilir. (Tek tek bileşenler sekmesinin altında Hata ayıklama ve test> altında bulabilirsinizAnlık görüntü hata ayıklayıcısı.)
Henüz yüklü değilse Visual Studio 2019 Enterprise'ı yükleyin.
Anlık görüntü koleksiyonu aşağıdaki Azure Sanal Makineler\Sanal Makine Ölçek Kümeleri web uygulamaları için kullanılabilir:
- .NET Framework 4.6.1 veya üzeri ile çalışan ASP.NET uygulamaları.
- Windows üzerinde .NET Core 2.0 veya üzeri üzerinde çalışan ASP.NET Core uygulamaları.
Uyarı
32 bit Windows üzerinde çalışan Visual Studio Enterprise anlık görüntüleri görüntüleyemez.
Projenizi açın ve Snapshot Debugger'ı başlatın
Anlık görüntü hata ayıklaması yapmak istediğiniz projeyi açın.
Önemli
Anlık görüntü hatalarını ayıklamak için Azure Sanal Makine\Sanal Makine Ölçek Kümesi hizmetinizde yayımlanan kaynak kodunun aynı sürümünü açmanız gerekir.
Hata Ayıklama > Anlık Görüntü Hata Ayıklayıcısı Ekle'yi seçin... Azure Sanal Makinesi\Sanal Makine Ölçek Kümesi ve bir Azure depolama hesabı seçin ve ardından Bağlan'a tıklayın. Snapshot Debugger, Azure Kubernetes Service ve Azure App Service'i de destekler.
Önemli
VM'niz için Anlık Görüntü Hata Ayıklayıcısı Ekle'yi ilk kez seçtiğinizde IIS otomatik olarak yeniden başlatılır. Sanal Makine Ölçek Kümeleriniz için Anlık Görüntü Hata Ayıklayıcısı Ekle seçeneğini ilk kez seçtiğinizde, Sanal Makine Ölçek Kümelerinin her bir örneğinin el ile yükseltilmesi gerekir.
Uyarı
(Visual Studio 2019 sürüm 16.2 ve üzeri) Snapshot Debugger, Azure bulut desteğini etkinleştirdi. Hem Azure kaynağının hem de seçtiğiniz Azure Depolama hesabının aynı buluttan olduğundan emin olun. Kuruluşunuzun Azure uyumluluk yapılandırmaları hakkında sorularınız varsa lütfen Azure yöneticinize başvurun.
Modüller için meta veriler başlangıçta etkinleştirilmez, web uygulamasına gidin ve Koleksiyonu Başlat düğmesi etkin hale gelir. Visual Studio artık anlık görüntü hata ayıklama modundadır.
Uyarı
VMSS için kullanıcının Snapshot Debugger'ı ilk kez ekledikten sonra Sanal Makine Ölçek Kümelerindeki örnekleri el ile yükseltmesi gerekir.
Modüller penceresi, Azure Sanal Makine\Sanal Makine Ölçek Kümesi için tüm modüllerin ne zaman yüklendiğini gösterir (bu pencereyi açmak için Windows > Modüllerinde Hata Ayıkla'yı > seçin).
Yakalama noktası ayarla
Kod düzenleyicisi içinde, ilgilendiğiniz bir kod satırının yanındaki sol sütuna tıklayarak bir kesme noktası ayarlayın. Yürütüleceğini bildiğiniz bir kod olduğundan emin olun.
Snappoint'i açmak için Koleksiyonu Başlat'a tıklayın.
Tavsiye
Bir anlık görüntüyü incelerken adım atamazsınız, ancak farklı kod satırlarında yürütmeyi takip etmek için kodunuza birden fazla snappoint yerleştirebilirsiniz. Kodunuzda birden çok snappoint varsa Snapshot Debugger, karşılık gelen anlık görüntülerin aynı son kullanıcı oturumundan olmasını sağlar. Anlık Görüntü Hata Ayıklayıcısı, uygulamanızı çok sayıda kullanıcı kullansa bile bunu yapar.
Anlık görüntü alma
Tutturma noktası ayarlandıktan sonra, web sitenizin tarayıcı görünümüne gidip işaretli kod satırını çalıştırarak el ile anlık görüntü oluşturabilir veya kullanıcılarınızın site kullanımlarından bir tane oluşturmasını bekleyebilirsiniz.
Anlık görüntü verilerini inceleme
Durdurma noktasına isabet edildiğinde, Tanılama Araçları penceresinde bir anlık görüntü gösterilir. Bu pencereyi açmak için Windows > Tanılama Araçlarını Göster hatalarını ayıkla'yı >seçin.
Anlık görüntüyü kod düzenleyicisinde açmak için anlık görüntü noktasına çift tıklayın.
Bu görünümden, Değişkenlerin üzerine gelerek Veri İpuçlarını görüntüleyebilir, Locals, Watches ve Call Stack pencerelerini kullanabilir ve ayrıca ifadeleri değerlendirebilirsiniz.
Web sitesinin kendisi hala canlı ve son kullanıcılar etkilenmez. Varsayılan olarak her bir snappoint için yalnızca bir anlık görüntü alınır: Anlık görüntü alındıktan sonra snappoint devre dışı kalır. Snappoint'te başka bir anlık görüntü yakalamak istiyorsanız, Koleksiyonu Güncelleştir'e tıklayarak snappoint'i yeniden etkinleştirebilirsiniz.
Uygulamanıza daha fazla snappoint ekleyebilir ve bunları Koleksiyonu Güncelleştir düğmesiyle etkinleştirebilirsiniz.
Yardım lazım mı? Bkz. Sorun giderme ve bilinen sorunlar ve anlık görüntü hata ayıklama sayfaları için SSS.
Koşullu tutturma noktası ayarla
Uygulamanızda belirli bir durumu yeniden oluşturmak zorsa koşullu bir tutturma noktası kullanmayı göz önünde bulundurun. Koşullu anlık görüntü alma noktaları, bir değişkenin incelemek istediğiniz belirli bir değeri içerdiğinde anlık görüntü almayı kontrol etmenize yardımcı olur. İfadeleri, filtreleri veya isabet sayılarını kullanarak koşulları ayarlayabilirsiniz.
Koşullu tutturma noktası oluşturmak için
Bir tutturma noktası simgesine (boş küre) sağ tıklayın ve Ayarlar'ı seçin.
Tutturma noktası ayarları penceresinde bir ifade yazın.
Yukarıdaki çizimde anlık görüntü yalnızca
visitor.FirstName == "Dan"olduğunda snappoint için çekilir.
Günlük noktası belirle
Anlık görüntü noktasına isabet edildiğinde anlık görüntü almanın yanı sıra, bir iletiyi günlüğe kaydedecek şekilde bir günlükleme noktası da yapılandırabilirsiniz. Uygulamanızı yeniden dağıtmak zorunda kalmadan log noktaları koyabilirsiniz. Günlük noktaları sanal olarak yürütülür ve çalışan uygulamanız üzerinde hiçbir etkiye veya yan etkiye neden olmaz.
Bir log noktası oluşturmak için
Bir tutturma noktası simgesine (mavi altıgen) sağ tıklayın ve Ayarlar'ı seçin.
Tutturma noktası ayarları penceresinde Eylemler'i seçin.
İleti alanına, günlüğe kaydetmek istediğiniz yeni günlük iletisini girebilirsiniz. Günlük mesajınızdaki değişkenleri değerlendirmek için onları küme ayraçlarının içine yerleştirebilirsiniz.
Çıkış Penceresine Gönder'i seçerseniz, günlük noktasına basıldığında, ileti Tanılama Araçları penceresinde görüntülenir.
Uygulama günlüğüne gönder'i seçerseniz, günlük noktasına isabet edildiğinde ileti,
System.Diagnostics.TracegibiILogger(veya .NET Core'da ) iletileri görebileceğiniz herhangi bir yerde görünür.
İlgili içerik
Bu öğreticide, Azure Sanal Makineler ve Azure Sanal Makine Ölçek Kümeleri için Snapshot Debugger'ın nasıl kullanılacağını öğrendiniz. Bu özellik hakkında daha fazla ayrıntı okumak isteyebilirsiniz.