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

  • maxman.tv

    maxman.tv

    29 EKİM 2013
  • ModNation Racers H.Q.

    ModNation Ra

    31 Ocak 2010
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011