gdb如何检查2D数组元素

时间:2012-07-04 10:42:15

标签: c linux debugging gdb multidimensional-array

我很高兴在GDB中调试,然后我点击了一个可能包含不正确值的2D数组。 但是我似乎无法打印单个元素。

p array2D[0][0]

给了我

  

无法对不完整类型执行指针数学运算,尝试转换为已知类型或无效*。

我试图谷歌这个,但我找不到任何东西,我不确定我是否遗漏了一些明显的东西。

1 个答案:

答案 0 :(得分:0)

p arr[0][0]适用于我的测试代码:

#include<stdio.h>
int main()
{
  int a[3][3];
  a[0][0]=1;
  a[0][1]=2;
  return 0;
}

on gdb:

(gdb) b test.c:6
Breakpoint 1 at 0x400473: file test.c, line 6.
(gdb) r
Starting program: a.out

Breakpoint 1, main () at test.c:6
6       a[0][1]=2;
(gdb) p a[0][0]
$1 = 1
(gdb) ptype a
type = int [3][3]

所以问题不是p arr[0][0],而是其他问题。