Date Редакция Категория comp Теги Cpp

Если необходимо просмотреть содержимое стандартного вектора myVector (для определенности -- типа std::vector<int>), сделать это в GDB можно с помощью следующей команды

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

Просмотреть N первых элементов myVector можно командой

print *(myVector._M_impl._M_start)@N

Расшифровывается это следующим образом.

Подробности реализации std::vector зависят от версии компилятора, но в GCC, начиная, по крайней мере, с версии 4.1.2, указатель на первый элемент вектора равен

myVector._M_impl._M_start

Команда печати N элементов массива, начиная с заданного указателя P:

print P@N

или, в краткой форме:

p P@N


Комментарии

comments powered by Disqus