JavaScript'teki ArrayBuffer
, TypedArray
ve DataView
belleğini ve C++'ta yazılmış Wasm uygulamalarının WebAssembly.Memory
kadarını incelemek için yeni Bellek İnceleyici'yi kullanın.
Bellek Denetleyicisi'ni açın
Bellek inceleyici'yi birkaç farklı şekilde açabilirsiniz.
Menüden aç
- Geliştirici Araçları'nı açın.
- Diğer Seçenekler > Diğer araçlar > Bellek inceleyici'yi tıklayın.
Hata ayıklama sırasında aç
- JavaScript
ArrayBuffer
ile bir sayfa açın. Bu demo sayfasını kullanacağız. - Geliştirici Araçları'nı açın.
- Kaynaklar panelinde demo-js.js dosyasını açın ve 18. satırda bir ayrılma noktası ayarlayın.
- Sayfayı yenileyin.
- Sağdaki Hata Ayıklayıcı bölmesindeki Kapsam bölümünü genişletin.
Bellek inceleyici'yi açabilirsiniz:
- Simgeden.
buffer
özelliğinin yanındaki simgeyi tıklayarak veya - İçerik menüsünden.
buffer
özelliğini sağ tıklayın ve Bellek Denetleyicisi panelinde göster'i seçin.
- Simgeden.
Birden çok nesneyi inceleme
- DataView veya TypedArray'i de denetleyebilirsiniz. Örneğin,
b2
birTypedArray
'dir. Bunu incelemek içinb2
özelliğini sağ tıklayıp Bellek Denetleyicisi panelinde göster'i seçin (HenüzTypedArray
veyaDataView
için simge yok). - Bellek inceleyici'de yeni bir sekme açılır. Aynı anda birden fazla nesneyi inceleyebileceğinizi lütfen unutmayın.
Bellek denetleyicisi
Bellek inceleyici 3 ana alandan oluşur:
Gezinme çubuğu
- Adres girişi, geçerli bayt adresini onaltılık biçimde gösterir. Bellek arabelleğinde yeni bir konuma atlamak için yeni bir değer girebilirsiniz. Örneğin,
0x00000008
yazmayı deneyin. - Bellek arabellekleri bir sayfadan daha uzun olabilir. Sayfada gezinmek yerine sol ve sağ düğmesini kullanarak gezinebilirsiniz.
- Soldaki düğmeler ileri/geri gezinmeye olanak sağlar.
- Varsayılan olarak, arabellek adımlama sırasında otomatik olarak güncellenir. Aksi takdirde, yenile düğmesi size belleği yenileme ve içeriğini güncelleme seçeneği sunar.
Bellek arabelleği
- Adres, sol taraftan onaltılık biçimde gösterilir.
- Bellek, her bayt bir boşlukla ayrılmış onaltılık biçimde de gösterilir. Seçili olan bayt vurgulanır. Baytı tıklayabilir veya klavyeyle (sol, sağ, yukarı, aşağı) gezinebilirsiniz.
- Hafızanın bir ASCII temsili sağ tarafta gösterilmiştir. Vurgulama, bayttaki seçili bitlere karşılık gelen değeri gösterir. Hafızada olduğu gibi, baytı tıklayabilir veya klavyeyle (sol, sağ, yukarı, aşağı) gezinebilirsiniz.
Değer inceleyici
- Üstteki araç çubuğunda büyük ve küçük endian arasında geçiş yapıp ayarları açmak için bir düğme bulunur. İnceleyicide varsayılan olarak görmek istedikleri değer türlerini seçmek için ayarları açın.
- Ana alanda tüm değer yorumları ayarlara uygun şekilde gösterilir. Varsayılan olarak tümü gösterilir.
- Kodlama tıklanabilir. Tamsayı için dec, onaltılık, okt, kayan öğeler için dec arasında geçiş yapabilirsiniz.
Belleği inceleme
Hafızayı birlikte inceleyelim.
- Hata ayıklama işlemini başlatmak için bu adımları uygulayın.
- Adres girişinde adresi
0x00000027
olarak değiştirin. - ASCII gösterimine ve değer yorumlarına dikkat edin. Şu anda tüm değerler boş.
Pointer 32-bit
vePointer 64-bit
öğelerinin yanındaki mavi renkli Adrese atla düğmesine dikkat edin. Adrese gitmek için bunu tıklayabilirsiniz. Adresler geçerli değilse düğmeler devre dışı görünür ve tıklanamaz.- Kodda gezinmek için Komut dosyası yürütmeye devam et'i tıklayın.
- ASCII gösteriminin artık güncellendiğine dikkat edin. Tüm değer yorumları da güncellenir.
- Değer inceleyiciyi yalnızca kayan noktayı gösterecek şekilde özelleştirelim. Ayarlar düğmesini tıklayın ve yalnızca Float 32-bit ve Float 64-bit seçeneklerini işaretleyin.
dec
olan kodlamayısci
olarak değiştirelim. Değer temsillerinin uygun şekilde güncellendiğini göreceksiniz.- Bellek arabelleğinde klavyenizle veya gezinme çubuğunu kullanarak gezinmeyi deneyin. Değerlerdeki değişiklikleri gözlemlemek için 4. adımı tekrarlayın.
WebAssembly bellek denetimi
WebAssembly.Memory
nesnesi, nesne belleğinin ham baytlarını barındıran bir ArrayBuffer
'dir. Bellek Denetleyicisi paneli, C++ dilinde yazılmış Wasm uygulamalarındaki bu tür nesneleri incelemenize olanak tanır.
WebAssembly.Memory
incelemesinden tam olarak yararlanmak için:
- Chrome 107 veya sonraki bir sürümü kullanın.
chrome://version/
adresinden sürümünüzü kontrol edin. - C/C++ Geliştirici Araçları Desteği (DWARF) uzantısını yükleyin. Bu, DWARF hata ayıklama bilgilerini kullanarak C/C++ WebAssembly uygulamalarında hata ayıklamaya yönelik bir eklentidir.
Bir nesnenin WebAssembly.Memory
öğesini incelemek için:
- Bu demo sayfasında Geliştirici Araçları'nı açın.
- Kaynaklar panelinde
demo-cpp.cc
uygulamasını açın vemain()
işlevinde, 15. satırdakix[i] = n - i - 1;
bir ayrılma noktası ayarlayın. - Uygulamayı çalıştırmak için sayfayı yeniden yükleyin. Hata ayıklayıcı, kesme noktasında duraklar.
- Hata Ayıklayıcı bölmesinde Kapsam > Yerel'i genişletin.
x: int[10]
dizisinin yanındaki simgesini tıklayın.Alternatif olarak diziyi sağ tıklayıp Bellek Denetleyicisi panelinde göster'i seçin.
Nesne belleğini vurgulamayı durdurmak için Bellek Denetleyicisi panelinde fareyle nesne rozetinin üzerine gelin ve x
düğmesini tıklayın.
Daha fazla bilgi edinmek için aşağıdaki makalelere bakın: