Hata ayıklama sırasında çağrı yığınının görsel haritasını oluşturma (C#, Visual Basic, C++, JavaScript)

Hata ayıklarken çağrı yığınını görsel olarak izlemek için bir kod eşlemesi oluşturun. Kodun ne yaptığını izlemek için harita üzerinde notlar alabilir, böylece hataları bulmaya odaklanabilirsiniz.

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

Önemli

Kod eşlemelerini yalnızca Visual Studio Enterprise sürümünde oluşturabilirsiniz.

Kod haritasına hızlı bir bakış:

Debugging with call stacks on code maps

Çağrı yığınını eşleme

  1. Visual Studio Enterprise C#, Visual Basic, C++ veya JavaScript projesinde Hata Ayıklamayı>Başlat'ı seçerek veya F5 tuşuna basarak hata ayıklamaya başlayın.

  2. Uygulamanız kesme moduna girdikten veya bir işleve adımladıktan sonra Kod Eşlemesinde Hata Ayıkla'yı>seçin veya Ctrl Shift tuşuna`++ basın.

    Geçerli çağrı yığını yeni bir kod haritası üzerinde turuncu renkte görüntülenir:

    See call stack on code map

Hata ayıklamaya devam ettikçe kod haritası otomatik olarak güncelleştirilir. Harita öğelerinin veya düzenin değiştirilmesi kodu hiçbir şekilde etkilemez. Haritadaki herhangi bir şeyi rahatça yeniden adlandırabilir, taşıyabilir veya kaldırabilirsiniz.

Bir öğe hakkında daha fazla bilgi edinmek için öğenin üzerine gelin ve öğenin araç ipucuna bakın. Her simgenin ne anlama geldiğini öğrenmek için araç çubuğunda Gösterge'yi de seçebilirsiniz.

Code Map Legend

Dekont

İleti Diyagram, kod eşlemesinin üst kısmındaki kodun eski bir sürümünü temel alabilir. Bu, eşlemeyi son güncelleştirdikten sonra kodun değişmiş olabileceği anlamına gelir. Örneğin, harita üzerindeki bir çağrı artık kodda bulunmayabilir. İletiyi kapatın ve haritayı yeniden güncelleştirmeden önce çözümü yeniden oluşturmayı deneyin.

Dış kodu eşleme

Varsayılan olarak, haritada yalnızca kendi kodunuz görünür. Haritada dış kodu görmek için:

  • Çağrı Yığını penceresine sağ tıklayın ve Dış Kodu Göster'i seçin:

    Display external code using the Call Stack window

  • Alternatif olarak, Visual Studio Araçları (veya Hata Ayıklama) >SeçenekleriNde>Hata Ayıklamada Yalnızca Kodumu Etkinleştir'in seçimini kaldırın:

    Show external code using Options dialog

Haritanın düzenini denetleme

Haritanın düzenini değiştirmek kodu hiçbir şekilde etkilemez.

Haritanın düzenini denetlemek için harita araç çubuğundaKi Düzen menüsünü seçin.

Düzen menüsünde şunları yapabilirsiniz:

  • Ekran düzenini değiştirin.
  • Hata Ayıklarken Otomatik Düzen'in seçimini kaldırarak haritayı otomatik olarak yeniden düzenlemeyi durdurun.
  • Öğeleri eklerken Artımlı Düzen'in seçimini kaldırarak haritayı mümkün olduğunca az yeniden düzenleyin.

Kod hakkında notlar oluşturma

Kodda neler olduğunu izlemek için açıklamalar ekleyebilirsiniz.

Açıklama eklemek için kod haritasına sağ tıklayın ve Yeni Açıklamayı Düzenle'yi>seçin ve açıklamayı yazın.

Açıklamaya yeni satır eklemek için Shift Enter tuşuna+ basın.

Add comment to call stack on code map

Haritayı sonraki çağrı yığınıyla güncelleştirme

Uygulamanızı bir sonraki kesme noktasına çalıştırırken veya bir işleve adım atarken harita otomatik olarak yeni çağrı yığınları ekler.

Update code map with next call stack

Haritanın otomatik olarak yeni çağrı yığınları eklemesini durdurmak için kod haritası araç çubuğunda öğesini seçin Show call stack on code map automatically . Harita, mevcut çağrı yığınlarını vurgulamaya devam eder. Geçerli çağrı yığınını haritaya el ile eklemek için Ctrl+Shift tuşuna`+ basın.

Haritaya ilgili kod ekleme

Artık C# veya Visual Basic'te bir haritanız olduğuna göre kodda neler olduğunu izlemek için alanlar, özellikler ve diğer yöntemler gibi öğeler ekleyebilirsiniz.

Koddaki bir yöntemin tanımına gitmek için haritadaki yönteme çift tıklayın veya bunu seçip F12 tuşuna basın ya da sağ tıklayıp Tanıma Git'i seçin.

Go to code definition for a method on code map

Haritaya izlemek istediğiniz öğeleri eklemek için bir yönteme sağ tıklayın ve izlemek istediğiniz öğeleri seçin. En son eklenen öğeler yeşil renkte görünür.

Fields related to a method on call stack code map

Dekont

Varsayılan olarak, eşlemeye öğe eklemek sınıf, ad alanı ve derleme gibi üst grup düğümlerini de ekler. Kod haritası araç çubuğundaKi Ebeveyn ekle düğmesini seçerek veya öğeleri eklerken Ctrl tuşuna basarak bu özelliği kapatıp açabilirsiniz.

Show fields in a method on call stack code map

Daha fazla kod görmek için haritayı oluşturmaya devam edin.

See methods that use a field: call stack code map

Methods that use a field on call stack code map

Haritayı kullanarak hataları bulma

Kodunuzu görselleştirmeniz, hataları daha hızlı şekilde bulmanıza yardımcı olabilir. Örneğin, çizim uygulamasındaki bir hatayı araştırdığınızı varsayalım. Bir çizgi çizip geri almayı denediğinizde, başka bir çizgi çizinceye kadar hiçbir şey olmaz.

Bu nedenle, , undove Repaint yöntemlerinde clearkesme noktaları ayarlar, hata ayıklamaya başlar ve şuna benzer bir harita oluşturursunuz:

Add another call stack to code map

Eşlemedeki tüm kullanıcı hareketlerinin dışında çağrısı Repaintundoolduğunu fark edeceksiniz. Bu, neden undo hemen çalışmayabileceğini açıklayabilir.

Hatayı düzelttikten ve uygulamayı çalıştırmaya devam ettikten sonra eşleme yeni çağrıyı öğesine undoRepaintekler:

Add new method call to call stack on code map

Haritayı başkalarıyla paylaşma

Haritayı dışarı aktarabilir, Microsoft Outlook ile başkalarına gönderebilir, çözümünüze kaydedebilir ve sürüm denetimine denetleyebilirsiniz.

Haritayı paylaşmak veya kaydetmek için kod haritası araç çubuğunda Paylaş'ı kullanın.

Share call stack code map with others