Допустим есть что-то такое в коде:
struct Foo {
int a;
std::string b;
};
std::vector<Foo*> foos;
Я хочу в gdb напечатать все обьекты из вектора, но только поле «b». Пытаюсь сделать через GDB Command:
(gdb) define pfoo
set $v = $arg0
set $i = 0
while ($i < $v.size())
print $v[$i]->b;
end
end
(gdb) pfoo foos
Attempt to take address of value not located in memory.
Или еще проще:
(gdb) set $v = foos
# работает
(gdb) print $v
# не работает
(gdb) print $v.size()
Attempt to take address of value not located in memory.
Помогите пожалуйста сделать задуманное.