Как проверить значения динамически выделенной памяти в режиме отладки?

я использую eclipse и netbeans для c, и я хотел бы проверить значения переменных, которые динамически выделяются в памяти при отладке (как в eclipse, так и в netbeans).

почему-то я могу видеть только значение самого указателя и его первый элемент.

для примера: с помощью этого кода:

int foo[10];

я могу проверить значение всего массива позже (при отладке). Например, я могу проверить значение foo[7] в окне watches.

но с этим кодом:

int *bar = malloc(10*sizeof(int));

я могу проверить только куда указывает bar, и значение bar[0] (но не другие значения).

как я могу посмотреть все значения массива?


UPDATE: проблема решена и в eclipse и в netbeans.

в eclipse: щелкните правой кнопкой мыши на нужной переменной в окне Variables -> выберите Display As Array -> заполните начальный индекс и длину массива.

в netbeans: в окне Watches добавьте новые часы со следующим форматом:

*((bar)+0)@10

где bar должно быть имя указателя, 0 - начальный индекс и 10 - его длина

если я могу добавить что-то личное: это мое первое сообщение на stackoverflow. надеюсь, вы нашли его полезным.

5
задан Jonathan Spooner 3 December 2011 в 19:01
поделиться