Aracılığıyla paylaş


Uygulamalarınızın hatalarını ayıklamak için kod eşlemelerini kullanma

Visual Studio'daki kod eşlemeleri büyük kod tabanlarında, tanıdık olmayan kodlarda veya eski kodlarda kaybolmamanıza yardımcı olabilir. Örneğin, hata ayıklarken birçok dosya ve projede koda bakmanız gerekebilir. Kod parçaları arasında gezinmek ve aralarındaki ilişkileri anlamak için kod eşlemelerini kullanın. Bu şekilde, bu kodu kafanızda izlemeniz veya ayrı bir diyagram çizmeniz gerekmez. Bu nedenle, çalışmanız kesintiye uğradığında kod eşlemeleri üzerinde çalıştığınız kodla ilgili belleğinizi yenilemenize yardımcı olur.

Kod eşlemesi - Koddaki ilişkileri eşleme

Yeşil ok, imlecinizin düzenleyicide nerede göründüğünü gösterir

Kod eşlemeleriyle çalışırken kullanabileceğiniz komutların ve eylemlerin ayrıntıları için bkz. Kod eşlemelerine göz atma ve yeniden düzenleme.

Hata Ayıklayıcı aracıyla Visual Studio'da hata ayıklama hakkında daha fazla bilgi edinin.

Uyarı

Kod eşlemeleri oluşturmak ve düzenlemek için Visual Studio Enterprise sürümü gerekir. Visual Studio Community ve Professional sürümlerinde, Enterprise sürümünde oluşturulan diyagramları açabilirsiniz, ancak düzenleyemezsiniz.

Sorunu anlama

Üzerinde çalıştığınız çizim programında bir hata olduğunu varsayalım. Hatayı yeniden oluşturmak için çözümü Visual Studio'da açıp F5 tuşuna basarak hata ayıklamayı başlatın.

Bir çizgi çizip Son vuruşumu geri al'ı seçtiğinizde, bir sonraki çizgiyi çizene kadar hiçbir şey olmaz.

Kod haritası - Yeniden oluşturma hatası

Böylece Undo yöntemini arayarak araştırmaya başlarsınız. PaintCanvas sınıfında bulursunuz.

Kod haritası - Kod bulma

Kodu eşlemeye başlama

Şimdi undo yöntemini ve ilişkilerini eşlemeye başlayın. Kod düzenleyicisinde undo yöntemini ve onun referans verdiği alanları yeni bir kod eşlemesine ekleyerek eklersiniz. Yeni bir harita oluşturduğunuzda kodu dizine almak biraz zaman alabilir. Bu, sonraki işlemlerin daha hızlı çalışmasına yardımcı olur.

Kod eşlemesi - Yöntemi ve ilgili alanları göster

Tavsiye

Yeşil vurgulama, haritaya eklenen son öğeleri gösterir. Yeşil ok, imlecinizin koddaki konumunu gösterir. Öğeler arasındaki oklar farklı ilişkileri temsil eder. Fareyi üzerlerine taşıyarak ve araç ipuçlarını inceleyerek haritadaki öğeler hakkında daha fazla bilgi edinebilirsiniz.

Kod eşlemesi - Araç ipuçlarını gösterme

Her alanın kod tanımını görmek için haritadaki alana çift tıklayın veya alanı seçin ve F12 tuşuna basın. Yeşil ok, haritadaki öğeler arasında hareket eder. İmleciniz kod düzenleyicisinde de otomatik olarak taşınır.

Geçmiş alanının seçili olduğu bir kod haritası penceresinin ve tüm geçmiş örneklerinin vurgulandığı bir kod düzenleyicisi penceresinin ekran görüntüsü.

paintObjects alanının seçili olduğu bir kod haritası penceresinin ve paintObjects örneklerinin vurgulandığı bir kod düzenleyicisi penceresinin ekran görüntüsü.

Tavsiye

İmlecinizi kod düzenleyicisine taşıyarak haritadaki yeşil oku da taşıyabilirsiniz.

Kod parçaları arasındaki ilişkileri anlama

Şimdi hangi diğer kodun history ve paintObjects alanlarıyla etkileşime geçtiğini bilmek istiyorsunuz. Bu alanlara başvuran tüm yöntemleri haritaya ekleyebilirsiniz. Bunu haritadan veya kod düzenleyicisinden yapabilirsiniz.

Kod haritası - Tüm referansları bul

Kod düzenleyicisinden bir kod haritası açma

Uyarı

Windows Phone veya Windows Mağazası gibi birden çok uygulama arasında paylaşılan bir projeden öğeler eklerseniz, bu öğeler her zaman haritada o anda etkin olan uygulama projesiyle birlikte görünür. Bu nedenle, bağlamı başka bir uygulama projesiyle değiştirirseniz, haritadaki bağlam paylaşılan projeden yeni eklenen öğeler için de değişir. Haritadaki bir öğeyle gerçekleştirdiğiniz işlemler yalnızca aynı bağlamı paylaşan öğeler için geçerlidir.

İlişkilerin akışını yeniden düzenlemek ve haritanın daha kolay okunmasını sağlamak için düzeni değiştirin. Öğeleri sürükleyerek haritanın çevresinde de taşıyabilirsiniz.

Düzen menüsünün açık ve Soldan Rgiht komutun seçili olduğu bir kod haritası penceresinin ekran görüntüsü.

Tavsiye

Varsayılan olarak Artımlı Düzen açıktır. Bu işlem, yeni öğeler eklediğinizde haritayı mümkün olduğunca az yeniden düzenler. Her yeni öğe eklediğinizde haritanın tamamını yeniden düzenlemek için Artımlı Düzen'i kapatın.

Alanlar arasında soldan sağa işaret eden ilişkilerhiop oklarının yer aldığı bir kod haritası penceresinin ekran görüntüsü.

Şimdi bu yöntemleri inceleyelim. Haritada PaintCanvas yöntemine çift tıklayın veya bu yöntemi seçip F12 tuşuna basın. Bu yöntemin history ve paintObjects isimli boş listeler oluşturduğunu öğrenirsiniz.

PaintCanvas yönteminin seçili olduğu ve PainCanvas yöntemi adının vurgulandığı kod parçacığı görüntüsünün gösterildiği kod haritası penceresinin ekran görüntüsü.

Şimdi yöntem tanımını incelemek için aynı adımları yineleyin clear . Öğrenirsiniz ki clear bazı görevleri paintObjects ve history ile gerçekleştirir. Ardından yöntemini çağırır Repaint .

Clear yönteminin seçili olduğu bir kod haritası penceresinin ve Clear yönteminin kodunu gösteren kod parçacığı görüntüsünün ekran görüntüsü.

Şimdi yöntem tanımını inceleyin addPaintObject . Ayrıca history ve paintObjects ile bazı görevler gerçekleştirir. Ayrıca Repaint öğesini de çağırır.

addPaintObject yönteminin seçili olduğu bir kod eşleme penceresinin ve addPaintObject yönteminin kodunu gösteren kod parçacığı görüntüsünün ekran görüntüsü.

Haritayı inceleyerek sorunu bulun

history ve paintObjects'i değiştiren tüm yöntemlerin Repaint'yi çağırdığı görülüyor. Yine de, undo yöntemi, undo aynı alanları değiştirse bile Repaint öğesini çağırmaz. undo numarasını Repaint arayarak bu sorunu çözebileceğinizi düşünüyorsunuz.

Kod eşlemesi - Eksik yöntem çağrısını bulma

Bu eksik çağrıyı gösterecek bir haritanız yoksa, özellikle daha karmaşık kodlarla bu sorunu bulmak daha zor olabilir.

Bulmanızı ve sonraki adımları paylaşın

Siz veya başka biri bu hatayı düzeltmeden önce, haritada sorun ve nasıl düzeltileceğini gösteren notlar alabilirsiniz.

Kod haritası - Takip etmek için öğeleri yorumla ve işaretle

Örneğin, haritaya açıklamalar ekleyebilir ve renkleri kullanarak öğelere bayrak ekleyebilirsiniz.

Kod haritası - Açıklamalı ve işaretli öğeler

Microsoft Outlook yüklüyse haritayı başkalarına e-postayla gönderebilirsiniz. Haritayı görüntü veya başka bir biçim olarak da dışarı aktarabilirsiniz.

Kod haritası - Paylaşma, dışarı aktarma, posta

Sorunu düzeltme ve ne yaptığını gösterme

Bu hatayı düzeltmek için Repaint çağrısını undo öğesine eklersiniz.

Kod eşlemesi - Eksik yöntem çağrısı ekleme

Düzeltmenizi onaylamak için hata ayıklama oturumunuzu yeniden başlatın ve hatayı yeniden oluşturmaya çalışın. Şimdi Son vuruşumu geri al'ı seçtiğinizde beklediğiniz gibi çalışır ve doğru düzeltmeyi yaptığınız doğrulanır.

Kod haritası - Kod düzeltmeyi onaylama

Yaptığınız düzeltmeyi göstermek için haritayı güncelleştirebilirsiniz.

Kod eşlemesi - Eşlemeyi eksik yöntem çağrısıyla güncelleştirme

Haritanız artık geri alma ve Yeniden Boyama arasında bir bağlantı gösteriyor.

Kod eşlemesi - Yöntem çağrısıyla güncelleştirilmiş eşleme

Uyarı

Haritayı güncelleştirdiğinizde, haritanızı oluşturmak için kullanılan kod dizininin güncelleştirildiğini belirten bir ileti görebilirsiniz. Birisi kodu değiştirdiği için haritanız artık geçerli kodla eşleşmiyor. Bu, haritayı güncelleştirmenizi engellemez, ancak kodla eşleştiğinden emin olmak için haritayı yeniden oluşturmanız gerekebilir.

Artık araştırmanı bitirdin. Kodu eşleyerek sorunu başarıyla buldunuz ve çözdüniz. Ayrıca kodda gezinmenize, öğrendiklerini hatırlamanıza ve sorunu çözmek için attığınız adımları gösteren bir haritanız vardır.