Visual Studio hata ayıklayıcısında ayrıştırma kodunu görüntüleme (C#, C++, Visual Basic, F#)

Ayrıştırma penceresi, derleyici tarafından oluşturulan yönergelere karşılık gelen derleme kodunu gösterir. Yönetilen kodda hata ayıklaması yapıyorsanız, bu derleme yönergeleri Visual Studio derleyicisi tarafından oluşturulan Microsoft ara dili (MSIL) yerine Tam Zamanında (JIT) derleyicisi tarafından oluşturulan yerel koda karşılık gelir.

Not

Ayrıştırma penceresinden tam olarak yararlanmak için, derleme dili programlamanın temellerini anlayın veya öğrenin. Intel yönerge kümeleri için başvuru malzemeleri, mimari kılavuzlarının 2. hacminde bulunur. Bu malzeme genellikle AMD yönerge kümeleri için de geçerlidir.

Bu özellik yalnızca adres düzeyinde hata ayıklama etkinleştirildiğinde kullanılabilir. Betik veya SQL hata ayıklama için kullanılamaz.

Derleme yönergelerine ek olarak, Ayrıştırma penceresi aşağıdaki isteğe bağlı bilgileri gösterebilir:

  • Her yönergenin bulunduğu bellek adresi. Yerel uygulamalar için gerçek bellek adresidir. Visual Basic veya C# için bu, işlevin başından bir uzaklıktır.

  • Derleme kodunun türetildiği kaynak kodu.

  • Kod baytları, yani gerçek makinenin bayt gösterimleri veya MSIL yönergeleri.

  • Bellek adresleri için sembol adları.

  • Kaynak koda karşılık gelen satır numaraları.

Derleme dili yönergeleri, yönerge adlarının kısaltmaları ve değişkenler, yazmaçlar ve sabitler için simgeler olan anımsatıcılardan oluşur. Her makine dili yönergesi, isteğe bağlı olarak bir veya daha fazla simgenin ardından bir bütünleştirilmiş kod dili anımsatıcısıyla temsil edilir.

Derleme kodu büyük ölçüde işlemci yazmaçlarına veya yönetilen kod için ortak dil çalışma zamanı yazmaçlarına dayanır. Kayıt içeriğini incelemenizi sağlayan Yazmaçlar penceresiyle birlikte Ayrıştırma penceresini kullanabilirsiniz.

Makine kodu yönergelerini derleme dili yerine ham sayısal biçiminde görüntülemek için Bellek penceresini kullanın veya Ayrıştırma penceresindeki kısayol menüsünden Kod Baytları'nı seçin.

Ayrıştırma penceresini kullanma

Ayrıştırma penceresini etkinleştirmek için Araçlar>Seçenekler>Hata Ayıklama'nın altında Adres düzeyinde hata ayıklamayı etkinleştir'i seçin.

Hata ayıklama sırasında Ayrıştırma penceresini açmak için Windows>Ayrıştırma'yı seçin veya Alt+8 tuşuna basın.

Not

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza ve ürün sürümüne bağlı olarak Yardım menüsünde açıklanana göre farklılık gösterebilir. Ayarlarınızı değiştirmek için Araçlar menüsünden Ayarlar İçeri ve Dışarı Aktar'ı seçin. Daha fazla bilgi için bkz . Tüm ayarları sıfırlama.

İsteğe bağlı bilgileri açmak veya kapatmak için, Ayrıştırma penceresine sağ tıklayın ve kısayol menüsünde istediğiniz seçenekleri ayarlayın veya temizleyin.

Sol kenar boşluğundaki sarı ok geçerli yürütme noktasını işaretler. Yerel kod için yürütme noktası CPU'nun program sayacına karşılık gelir. Bu konum, programınızda yürütülecek sonraki yönergeyi gösterir.

Bellekte bir sayfa yukarı veya aşağı gitme

Bellek penceresinde veya Ayrıştırma penceresinde bellek içeriğini görüntülediğinizde, bellek alanında yukarı veya aşağı gitmek için dikey kaydırma çubuğunu kullanabilirsiniz.

  1. Sayfa aşağı gitmek için (daha yüksek bir bellek adresine gidin), kaydırma kutusunun altındaki dikey kaydırma çubuğuna tıklayın.

  2. Sayfayı yukarı taşımak (daha düşük bir bellek adresine gitmek) için başparmak üzerindeki dikey kaydırma çubuğuna tıklayın.

    Dikey kaydırma çubuğunun standart olmayan bir şekilde çalıştığını da fark edeceksiniz. Modern bir bilgisayarın adres alanı çok büyük ve kaydırma çubuğu başparmağını tutup rastgele bir konuma sürükleyerek kaybolmak kolay olabilir. Bu nedenle başparmak "yaylı" olur ve her zaman kaydırma çubuğunun ortasında kalır. Yerel kod uygulamalarında sayfayı yukarı veya aşağı kaydırabilirsiniz, ancak serbestçe kaydıramazsınız.

    Yönetilen uygulamalarda, ayrıştırma tek bir işlevle sınırlıdır ve normal şekilde kaydırabilirsiniz.

    Pencerenin alt kısmında daha yüksek adreslerin gösterildiğini göreceksiniz. Daha yüksek bir adresi görüntülemek için yukarı değil aşağı taşımanız gerekir.

Bir yönerge yukarı veya aşağı gitme

  • Dikey kaydırma çubuğunun üst veya alt kısmındaki oka tıklayın.