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

  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014