我知道你可以在gdb中打印一个数组,例如
(gdb) p *array@10
Run Code Online (Sandbox Code Playgroud)
是否有一个gdb命令可以告诉你它的长度,例如键入以下内容的方便快捷方式:
(gdb) p sizeof(array)/sizeof(int)
Run Code Online (Sandbox Code Playgroud)
如果已在编译时定义了数组,并且您想要检查它
小智 17
您可以使用ptype知道符号的类型.
对于int array[5],
(gdb) ptype array
type = int [5]
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 12
如果它实际上被定义为数组,例如
int array[5];
Run Code Online (Sandbox Code Playgroud)
然后是的,你可以使用你写的东西,虽然更好更通用的方法是:
(gdb) p sizeof(array)/sizeof(*array)
Run Code Online (Sandbox Code Playgroud)
这不假设数组的类型.
如果变量被定义为指针,则为no.