Я хотел бы видеть contens моего массива при передаче в качестве аргумента функции через gdb.Как видеть содержимое массива в gdb при передаче из функции
Скажем, у меня есть некоторый код, который выглядит как
#include <stdio.h>
int fun(int b[], int len)
{
int i = 0;
/* how do I see the contents of array b[] in gdb */
for(i = 0; i < len; ++i)
printf("%d ", b[i]);
}
int main()
{
int a[] = {1,2,3,4,5};
fun(a, sizeof(a)/sizeof(*a));
return 0;
}
В БГД, а [] выглядит следующим образом
(gdb) disp a
1: a = {1, 2, 3, 4, 5}
Но если я пытаюсь напечатать б [], так как это указатель (как массив передается как указатель), содержимое выглядит следующим образом
fun (b=0x7fffffffdf90, len=5) at main.c:14
(gdb) disp b
2: b = (int *) 0x7fffffffdf90
Я хочу, чтобы иметь возможность видеть содержимое б [] так же, как я видя [], это помогает мне отлаживать.
Как это сделать?
Где прототип 'удовольствия()'? – Olaf
Обратите внимание, что массивы ** не ** указатели! Однако они чаще всего неявно _converted_ указателю. – Olaf