fark?

2013-10-15 20 views
9

Yakın zamanda Eclipse-CDT'yi kullanmaya başladım ve hata ayıklama perspektifindeki değişkenler penceresindeki 'this' ve 'this @ entry' hakkında merak ettim. İkisi de aynı hafıza adresine sahipler ve aynı görünüyorlar ama neden ikisini de dahil ediyorlar? 'Bu @ giriş', bir işlev içindeki bazı kırılma noktalarında 'bu' durumunu temsil etmek anlamına mı geliyor? 'Bu @ giriş' altında gösterilen değerler kapsam dışıdır, bu nedenle konuşmak ve işlev döndüğünde 'bu' güncelleştirmek?fark?

They both have the same memory address but...

team1,2 ve currentMatch ben hata ayıklama sınıfa genel değişkenlerdir ve kırılma noktaları bu sınıfın bir üyesi işlevinde bulunmaktadır.

cevap

12

@entry form, fonksiyon girildiğinde parametrenin değerini ifade eder. Bu her zaman mevcut değil, ancak bazen - bunun için bir DWARF uzantısı var ve GCC bunu mümkün olduğunda yayar. biz şimdiki değerinden farklı olduğunda sadece geriye dönük izleme içinde "@entry" gösteren bir biçime karar GDB en CLI

https://sourceware.org/gdb/onlinedocs/gdb/Variables.html

IIRC:

burada bazı bilgiler var. Ama MI (Eclipse'in kullandığı) farklıdır ve söylediğin şeyden her zaman bunu gösterir gibi görünür.