我知道你可以在gdb中打印一个数组,例如
(gdb) p *array@10
是否有gdb命令可以告诉你它的长度,例如键入以下内容的便捷快捷方式:
(gdb) p sizeof(array)/sizeof(int)
如果已在编译时定义了数组,并且您想要检查它
答案 0 :(得分:17)
您可以使用ptype
来了解符号的类型。
int array[5]
,
(gdb) ptype array
type = int [5]
答案 1 :(得分:12)
如果它实际上被定义为数组,例如
int array[5];
然后是的,您可以使用您所写的内容,但更好更通用的方法是:
(gdb) p sizeof(array)/sizeof(*array)
这不假设数组的类型。
如果变量被定义为指针,则为。