Visual Studio Enterprise için IntelliTrace (C#, Visual Basic, C++)
Kodunuzun yürütme geçmişini kaydetmek ve izlemek için IntelliTrace kullanırken uygulamanızda hata ayıklamaya daha az zaman ayırabilirsiniz. IntelliTrace şunları yapmanızı sağladığından hataları kolayca bulabilirsiniz:
Belirli olayları kaydetme
İlgili kodu, hata ayıklayıcı olayları sırasında Yereller penceresinde görüntülenen verileri ve işlev çağrısı bilgilerini inceleyin
Yeniden oluşturması zor olan veya dağıtımda gerçekleşen hataların hatalarını ayıklama
IntelliTrace'i Visual Studio Enterprise sürümünde kullanabilirsiniz (ancak Professional veya Community sürümleri kullanamazsınız).
Ne yapmak istiyorsunuz?
Senaryo | Başlık |
---|---|
IntelliTrace ile uygulamamda hata ayıklama: - Geçmiş olayları göster. - Geçmiş olayları içeren arama bilgilerini göster. - IntelliTrace oturumumu kaydedin. - IntelliTrace'in topladığı verileri kontrol edin. |
- IntelliTrace kullanarak önceki uygulama durumlarını inceleme - İzlenecek yol: IntelliTrace’i kullanma - IntelliTrace Özellikleri - Geçmiş Hata Ayıklama |
Dağıtılan uygulamalardan IntelliTrace verilerini toplama | - IntelliTrace tek başına toplayıcısını kullanma |
IntelliTrace günlük dosyasından (.iTrace dosyası) hata ayıklamayı başlatın. | - Kayıtlı IntelliTrace verilerini kullanma |
IntelliTrace ile hangi uygulamalarda hata ayıklayabilirim?
Destek düzeyi | Uygulama türleri |
---|---|
Tam destek | - .NET Framework 2.0 veya üzeri sürümleri kullanan Visual Basic ve Visual C# uygulamaları. ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows workflow, SharePoint 2010, SharePoint 2013 ve 64 bit uygulamalar gibi uygulamaların çoğunda hata ayıklayabilirsiniz. IntelliTrace ile SharePoint uygulamalarında hata ayıklamak için bkz . İzlenecek yol: IntelliTrace Kullanarak SharePoint Uygulamasında Hata Ayıklama. IntelliTrace ile Microsoft Azure uygulamalarında hata ayıklamak için bkz . IntelliTrace ve Visual Studio ile Yayımlanan Bulut Hizmetinde Hata Ayıklama. |
Sınırlı destek | - Windows'a yönelik C++ uygulamaları IntelliTrace adım adım geri kullanarak anlık görüntüleri görüntülemeyi destekler. Yalnızca hata ayıklayıcı ve özel durum olayları desteklenir. - Yerel hata ayıklamada yalnızca belirli olaylar (MVC Denetleyicisi, ADO.NET ve HTTPClient olayları) için desteklenen .NET Core ve ASP.NET Core uygulamaları. Tek Başına Toplayıcı .NET Core veya ASP.NET Core uygulamaları için desteklenmez. - Deneysel olarak F# uygulamaları - Yalnızca olaylar için desteklenen UWP uygulamaları |
Desteklenmiyor | - Diğer diller ve betik - Windows Hizmetleri, Silverlight, Xbox veya Windows Mobile uygulamaları |
Not
Zaten çalışmakta olan bir işlemde hata ayıklamak istiyorsanız, yalnızca IntelliTrace olaylarını toplayabilirsiniz (arama bilgisi yok). Yalnızca yerel makinede 32 bit veya 64 bit işleme ekleyebilirsiniz. İşleme eklemeden önce gerçekleşen olaylar toplanmaz.
IntelliTrace ile hata ayıklama neden?
Geleneksel veya canlı hata ayıklama yalnızca uygulamanızın geçerli durumunu gösterir ve geçmiş olaylar hakkında sınırlı veri içerir. Bu olayları uygulamanın geçerli durumuna göre çıkarsamanız veya uygulamanızı yeniden çalıştırarak bu olayları yeniden oluşturmanız gerekir.
IntelliTrace bu zamanlardaki belirli olayları ve verileri kaydederek bu geleneksel hata ayıklama deneyimini genişletir. Bu, uygulamanızda yeniden başlatmadan neler olduğunu görmenizi sağlar, özellikle de hatanın bulunduğu yeri geçmişseniz. IntelliTrace geleneksel hata ayıklama işlemi sırasında varsayılan olarak açıktır ve görünmez ve otomatik olarak veri toplar. Bu, geleneksel hata ayıklama ve IntelliTrace hata ayıklama arasında kaydedilen bilgileri görmek için kolayca geçiş yapmanızı sağlar. Bkz . IntelliTrace Özellikleri ve IntelliTrace hangi verileri toplar?
IntelliTrace yeniden oluşturulması zor olan veya dağıtımda gerçekleşen hataları ayıklamaya da yardımcı olabilir. IntelliTrace verisi toplayabilir ve bir IntelliTrace günlük dosyasına (.iTrace dosyası) kaydedebilirsiniz. Bir .iTrace dosyası özel durumlar, performans olayları, Web istekleri, test verileri, iş parçacıkları, modüller ve diğer sistem bilgileri ile ilgili ayrıntıları içerir. Bu dosyayı Visual Studio Enterprise'da açabilir, bir öğe seçebilir ve IntelliTrace ile hata ayıklamaya başlayabilirsiniz. Bu, dosyadaki herhangi bir olaya gitmenize ve uygulamanızla ilgili belirli ayrıntıları o anda görmenize olanak tanır.
Bu kaynaklardan IntelliTrace verisi kaydedebilirsiniz:
Visual Studio 2015 Enterprise veya sonraki sürümlerinde ya da Visual Studio Ultimate'ın önceki sürümlerinde intelliTrace oturumu.
IIS'de barındırılan web uygulamalarını veya Microsoft Monitoring Agent'ı tek başına veya System Center 2012 ile kullandığınızda dağıtımda çalışan SharePoint uygulamalarını ASP.NET. Bkz. Microsoft Monitoring Agent ile IntelliTrace tek başına toplayıcı ve İzleme kullanma.
Önemli
Microsoft Monitoring Agent'ın (MMA) IntelliTrace ile kullanımı, Microsoft Monitoring Agent 31 Ağustos 2024'te kullanım ömrü sonuna ulaştığında artık desteklenmemektedir. Daha fazla bilgi için bkz . Log Analytics aracısından Azure İzleyici Aracısı'na geçiş.
IntelliTrace'in hata ayıklamada yardımcı olması ile ilgili bazı örnekler aşağıdadır:
Uygulamanız bir veri dosyasını bozmuş, ancak bu olayın nerede gerçekleştiğini bilmiyorsunuz.
IntelliTrace olmadan, olası tüm dosya erişimlerini bulmak, bu erişimlere kesme noktaları koymak ve sorunun nerede olduğunu bulmak için uygulamanızı yeniden çalıştırmak için koda bakmanız gerekir. IntelliTrace ile toplanan tüm dosya erişim olaylarını ve her olay gerçekleştiğinde uygulamanızla ilgili belirli ayrıntıları görebilirsiniz.
Bir özel durum gerçekleşir.
IntelliTrace olmadan bir özel durumla ilgili bir ileti alırsınız, ancak özel duruma neden olan olaylar hakkında çok fazla bilginiz yoktur. Özel duruma neden olan çağrı zincirini görmek için çağrı yığınını inceleyebilirsiniz, ancak bu çağrılar sırasında gerçekleşen olayların sırasını göremezsiniz. IntelliTrace ile özel durumdan önce meydana gelen olayları inceleyebilirsiniz.
Dağıtılan bir uygulamada hata veya kilitlenme olur.
Microsoft Azure tabanlı uygulamalar için, uygulamayı yayımlamadan önce IntelliTrace veri toplamayı yapılandırabilirsiniz. Uygulamanız çalışırken IntelliTrace verileri bir .iTrace dosyasına kaydeder. Bkz. IntelliTrace ve Visual Studio ile Yayımlanan Bulut Hizmetinde Hata Ayıklama.
IIS 7.0, 7.5 ve 8.0'da barındırılan ASP.NET web uygulamaları ve SharePoint 2010 ya da SharePoint 2013 uygulamalarında, IntelliTrace verisini bir .iTrace dosyasına kaydetmek için Microsoft İzleme Aracısı'nı tek başına ya da System Center 2012 ile birlikte kullanın.
Bu, dağıtımdaki uygulamalarla ilgili sorunları tanılamak istediğinizde kullanışlıdır. Bkz . IntelliTrace tek başına toplayıcısını kullanma.
IntelliTrace hangi verileri toplar?
Olay bilgilerini toplama
Varsayılan olarak, IntelliTrace yalnızca IntelliTrace olaylarını kaydeder: hata ayıklayıcı olayları, özel durumlar, .NET Framework olayları ve hata ayıklamada size yardımcı olabilecek diğer sistem olayları. Hata ayıklayıcı olayları ve her zaman toplanan özel durumlar dışında toplamak istediğiniz IntelliTrace olaylarının türlerini seçebilirsiniz. Bkz. IntelliTrace özellikleri.
Hata ayıklayıcı olayları
IntelliTrace her zaman Visual Studio hata ayıklayıcıda gerçekleşen olayları kaydeder. Örneğin, uygulamanızı başlatmak bir hata ayıklayıcı olayıdır. Diğer hata ayıklayıcı olayları, uygulamanızın yürütmeyi kesmesine neden olan olayları durduruyor. Örneğin, programınız bir kesme noktasına, bir izleme noktasına isabet eder veya bir Adım komutu yürütür.
IntelliTrace, performansa yardımcı olmak için varsayılan olarak hata ayıklayıcı olayı için her olası değeri kaydetmez. Bunun yerine, bu değerleri kaydeder:
Yerel Ayarlar penceresindeki değerler. Bu değerleri görmek için Yereller penceresini açık tutun.
Otomatikler penceresindeki değerler yalnızca Otomatikler penceresi açıksa
Kaynak penceresinde değerini görmek için bir değişkenin üzerine fare işaretçisini getirdiğinizde görüntülenen DataTips değerleri. IntelliTrace sabitlenmiş DataTips değerlerini toplamaz.
IntelliTrace Olayları ve Anlık Görüntüler modu etkinleştirildiğinde, IntelliTrace her hata ayıklayıcı Kesme Noktası ve Adım olayında uygulamanın işleminin anlık görüntüsünü alır. Bu, pencerelerin açık olup olmamasına bakılmaksızın Yerel Öğeler, Otomatikler ve İzleme pencerelerindeki değerleri kaydeder. Sabitlenmiş veri ipuçlarındaki değerler de toplanır.
Özel durumlar
IntelliTrace özel durum türünü ve iletisini bu tür özel durumlar için kaydeder:
Özel durumun ortaya çıktığı ve yakalandığı yönetilen özel durumlar
İşlenmeyen özel durumlar
.NET Framework olayları
Varsayılan olarak, IntelliTrace en sık görülen .NET Framework olaylarını kaydeder. Örneğin, bir CheckBox.CheckedChanged olay için IntelliTrace onay kutusu durumunu ve metnini toplar.
SharePoint 2010 ve SharePoint 2013 uygulama olayları
Kullanıcı profili olayları ve SharePoint 2010 ile Visual Studio dışında çalışan 2013 uygulamaları için birleşik Günlük Kaydetme Sistemi (ULS) olaylarının alt kümesini kaydedebilirsiniz. Bu olayları bir .iTrace dosyasına kaydedebilirsiniz. Visual Studio Enterprise 2015 veya sonraki sürümlerini, Visual Studio Ultimate'ın önceki bir sürümünü veya İzleme modunda çalışan Microsoft Monitoring Agent'ı gerektirir.
.iTrace dosyasını açtığınızda, eşleşen web isteğini bulmak için bir SharePoint bağıntı kimliği girin, kayıtlı olayları görüntüleyin ve belirli bir olaydan hata ayıklamaya başlayın. Dosya işlenmeyen özel durumlar içeriyorsa, bir bağıntı kimliği seçerek bir özel durumu hata ayıklamaya başlayabilirsiniz.
Bkz.
Anlık görüntüleri yakalama
IntelliTrace'i her kesme noktasında ve hata ayıklayıcı adımı olayında anlık görüntüleri yakalayacak şekilde yapılandırabilirsiniz. IntelliTrace, karmaşık değişkenleri görüntülemenize ve ifadeleri değerlendirmenize olanak tanıyan her anlık görüntüde tam uygulama durumunu kaydeder.
Not
IntelliTrace tek başına toplayıcı anlık görüntüleri yakalamayı desteklemez.
Bkz . IntelliTrace kullanarak önceki uygulama durumlarını inceleme.
İşlev çağrısı bilgilerini toplama
İşlev çağrı bilgilerini toplamak için IntelliTrace'i yapılandırabilirsiniz. Bu bilgiler çağrı yığını geçmişini görmenizi sağlar ve koddaki çağrılarda geri veya ileri hareket edebilmenize izin verir. Her işlev çağrısı için IntelliTrace bu verileri kaydeder:
- İşlev adı
- İşlev giriş noktalarında parametre olarak gönderilen ve işlev çıkış noktalarında döndürülen temel veri türlerinin değerleri
- Okunduklarında veya değiştirildiklerinde otomatik özelliklerin değerleri
- Birinci düzey alt nesnelerin işaretçileri, ancak değerleri yalnızca boş veya değil şeklinde verilir
Not
IntelliTrace yalnızca dizilerdeki ilk 256 nesneyi ve dizelerdeki ilk 256 karakteri toplar.
Bkz . Uygulamanızı geçmiş hata ayıklama ile inceleme.
Modül bilgilerini toplama
IntelliTrace'in ne kadar çağrı bilgisi topladığını denetlemek için, yalnızca istediğiniz modülleri belirtin. Bu, toplama sırasında uygulamanızın performansını iyileştirmeye yardımcı olabilir. IntelliTrace'in IntelliTrace özelliklerinde ne kadar bilgi topladığını denetleme bölümüne bakın.
IntelliTrace uygulamamı yavaşlatacak mı?
Varsayılan olarak, IntelliTrace yalnızca seçili IntelliTrace olaylarının verilerini toplar. Bu, kodunuzun yapısına ve düzenine bağlı olarak uygulamanızı yavaşlatabilir veya yavaşlatmayabilir. Örneğin, IntelliTrace bir olayı sık sık kaydederse, bu durum uygulamanızı yavaşlatabilir. Ayrıca uygulamanızı yeniden düzenlemeyi de göz önünde bulundurmanıza neden olabilir.
Arama bilgilerini toplamak uygulamanızı önemli ölçüde yavaşlatabilir. Diske kaydettiğiniz IntelliTrace herhangi bir günlük dosyasının (.iTrace dosyaları) boyutunu da artırabilir. Bu etkileri en aza indirmek için yalnızca ilginiz dahilinde olan modüller için çağrı bilgilerini toplayın. .iTrace dosyalarınızın en büyük boyutunu değiştirmek için Araçlar, Seçenekler, IntelliTrace, Gelişmiş'e gidin.