如何在gdb中递归打印C结构

Ama*_*ain 5 gdb

如何让gdb递归地打印结构的字段,
即跟随指针.

现在,我必须进入每个字段并指定一个'*'来打印
子结构,或者必须键入强制转换以查看子结构中的内容.

例如

typedef struct {
int a;
}A;

typedef struct {
A *pA;
int b;
}B;

typedef struct {
B *pB;
int c;
}C;

C var_c;
C *pC = var_c;
Run Code Online (Sandbox Code Playgroud)

......

现在,我想在gdb提示符下执行"p*pc",
查看所有内容而不仅仅是pB的地址.

Emp*_*ian 2

实现你想要的最好方法是为你的结构编写一个Python漂亮的打印机。文档在这里