Как «смотреть» динамический массив C ++ с помощью GDB? - PullRequest
12 голосов
/ 30 октября 2009

Рассмотрим следующий пример:

int size = 10, *kk = new int[size];

for (int i = 0; i < size; i++) {
    kk[i] = i;
}

delete [] kk;

Как добавить часы для всего массива? Я могу добавить часы по одному ( kk [0] , kk [1] ...), но, поскольку я знаю длину массива, есть способ сделать это автоматически ? Я имею в виду что-то вроде kk [0..size-1] или около того.

Я использую IDE NetBeans вместе с Cygwin G ++ и GDB.

1 Ответ

11 голосов
/ 30 октября 2009

Попробуйте display *kk@<size> Из документа для команды печати:

@ - бинарный оператор для обработки последовательных объектов данных где-нибудь в памяти как массив. FOO @ NUM дает массив, первый Элемент FOO, второй элемент которого хранится в пространстве после где хранится FOO и т. д. FOO должно быть выражением, значение которого находится в памяти.

...