SORU
28 AĞUSTOS 2009, Cuma


gdb davranış : değeri optimize dışarı

Herkes gdb bu davranış açıklayabilir mi?

900         memset(&new_ckpt_info,'\0',sizeof(CKPT_INFO));
(gdb)
**903         prev_offset   = cp_node->offset;**
(gdb)
**905         m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb->shm_addr.ckpt_addr sizeof(CKPT_** HDR),i_offset);
(gdb)
**903         prev_offset   = cp_node->offset;**
(gdb)
**905         m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb->shm_addr.ckpt_addr sizeof(CKPT_ HDR),i_offset);**
(gdb)
**908         bitmap_offset  = client_hdl/32;**
(gdb)
**910         bitmap_value = cpnd_client_bitmap_set(client_hdl2);**
(gdb)
**908         bitmap_offset  = client_hdl/32;**
(gdb)
**910         bitmap_value = cpnd_client_bitmap_set(client_hdl2);**
(gdb)
**908         bitmap_offset  = client_hdl/32;**
(gdb)
**910         bitmap_value = cpnd_client_bitmap_set(client_hdl2);**
(gdb)
913         found = cpnd_find_exact_ckptinfo(cb , &ckpt_info , bitmap_offset , &offset , &prev_offset);
(gdb)
916         if(!found)
(gdb) p found
$1 = <value optimized out>
(gdb) set found=0
Left operand of assignment is not an lvalue.

Çizgi 903 yürüttükten sonra tekrar 905 908 910 için aynı yürütür neden?

Başka bir şey found booltipi bir değişkendir, bu yüzden value optimized outgösteriyor neden? found değerini de ayarlamak mümkün.

Bu derleyici en iyi duruma getirme (bu durumda -O2); nasıl hala found değerini ayarlamak miyim?

CEVAP
30 AĞUSTOS 2009, Pazar


En iyi duruma getirilmiş kod hata ayıklama, derleme/makine dili öğrenmek.

GDB TUİ modunu kullanın. GDB benim kopya ben eksi yazdığınızda sağlar ve Girin. Sonra da C-x 2 Kontrol basılı tutun ve X tuşuna basın hem de yayın ve 2 tuşuna basın (). Bölünmüş kaynak ve demontaj görüntü içine koyacağız. stepi nexti Bir seferde bir makine talimat taşımak için kullanın. C-x o TUİ pencereler arasında geçiş yapmak için.

CPU makine dili ve işlevi arama kuralları hakkında bir PDF indir. Hızlı işlev bağımsız değişkenleri ve dönüş değerleri ile yapılıyor ne tanımak için öğreneceksiniz.

p $eax GDB gibi bir komut kullanarak bir kayıt değerini görüntüleyebilirsiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009