我的结构有几个成员,我希望看到它们都按顺序编制索引。
Struct Ant
{
int type;
char name[100];
long long int food;
}
现在,当我在gdb中执行命令时
(gdb) ptype struct Ant
$1 = struct
{
int type;
char name[100];
long long int food;
}
我希望看到输出类似
{
0, int type;
1, char name[100];
2, long long int food;
}
有没有办法在GDB中按顺序获取每个结构字段的索引?
答案 0 :(得分:1)
没有内置方法可以做到这一点。如果你需要这个,你可以通过几种方式自己编写。
一种方法是使用gdb CLI:使用set logging
和朋友将ptype
输出转储到文件,然后使用shell
在文件上运行其他命令按照你喜欢的方式格式化。
另一种方法是使用gdb的Python脚本功能来检查类型并按照您喜欢的方式显示它。如果您搜索pahole
命令(可能已在您的系统上,请尝试locate pahole.py
- 某些Linux发行版发布此内容)您可以看到如何完成此操作的示例。