我希望看到我的数组作为参数传递给函数时通过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中,[]如下所示
(gdb) disp a
1: a = {1, 2, 3, 4, 5}
但是如果我尝试打印b [],因为它是一个指针(因为数组作为指针传递),内容看起来像这样
fun (b=0x7fffffffdf90, len=5) at main.c:14
(gdb) disp b
2: b = (int *) 0x7fffffffdf90
我希望能够看到b []的内容,就像我看到[]所以它有助于我调试。
我该怎么做?