Хранение значений в GDB при отладке - PullRequest
3 голосов
/ 18 декабря 2010

Я отлаживаю программу и обнаруживаю, что все время это делаю

(gdb) p edges[i]
$9 = (std::pair<int, int> &) @0x7ffff427b790: {first = 26349, second = 25679}
(gdb) p nodes[26349].parent
$10 = 25679

я хотел бы сделать что-то вроде

(gdb) v = edges[i]
(gdb) p nodes[v.first].parent
$11 = 25679

Переменная v является короткойручная запись / псевдоним для ребер [i].Возможно ли что-то подобное?

1 Ответ

3 голосов
/ 18 декабря 2010

Разобрался.Это называется вспомогательными переменными в gdb и имеет следующий синтаксис:

(gdb) set $v = edges[i]
(gdb) p nodes[$v.first].parent
$11 = 25679

Строка, которая читает $11 = 25679 сохраняет, также сохраняет последнее значение в вспомогательной переменной, так что вы можете сделать p $11.Острота

...