ptype,但无论如何都要列出所有结构定义而不是查看源代码?
print sizeof()可用于打印结构尺寸,但是我们可以在不事先知道其名称的情况下打印所有结构尺寸吗?
答案 0 :(得分:-1)
编辑:
gdb使用struct'标记'用于显示结构详细信息的名称 (字段定义,字段值,sizeof等) (以及用于定义结构的命名结构定义)
所以将结构定义为
struct struct_t
{
int field1;
...
};
然后gdb可以在代码中找到/显示结构的所有细节
这是一个例子
#include <stdio.h>
struct myStruct
{
int alpha;
int brovo;
};
int main ( void )
{
struct myStruct structInstance;
structInstance.alpha = 1;
structInstance.brovo = 2;
printf( "%d %d\n", structInstance.alpha, structInstance.brovo );
} // end function: main
让我们说生成的可执行文件名为untitled
然后按以下方式运行gdb
:
gdb untitled
br main
r
然后显示结构的内容:
p structInstance
将输出以下内容
$1 = {alpha = -8352, brovo = 32767}
请注意,p
命令在结构初始化之前。
s
s
p structInstance
将输出:
$2 = {alpha = 1, brovo = 2}