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

  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • UKF

    UKF

    2 Aralık 2009
  • USI Events

    USI Events

    6 AĞUSTOS 2013