SORU
31 EKİM 2008, Cuma


Nasıl GDB baskı C vektörü elemanları mı?

GDB std::vector içeriğini incelemek istiyorum, bunu nasıl yapabilirim? Hadi basitlik için std::vector<int> bir şey söyle.

CEVAP
31 EKİM 2008, Cuma


GCC ile yazdırmak için 4.1.2, bir bütün std::vector<int> aşağıdaki myVector adı:

print *(myVector._M_impl._M_start)@myVector.size()

Baskı için ilk N öğeleri sadece, yapmak:

print *(myVector._M_impl._M_start)@N

Açıklama

Bu muhtemelen derleyici sürümü aşırı bağımlıdır, ama GCC 4.1.2, iç dizisi için işaretçi

myVector._M_impl._M_start 

Ve bir dizi işaretçi P başlangıç N elemanları yazdırmak için GDB komut:

print P@N

Ya da, kısa form (bir standart .gdbinit):

p P@N

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008