【问题标题】:How to print a C structure recursively in gdb如何在 gdb 中递归打印 C 结构
【发布时间】:2011-10-17 21:42:10
【问题描述】:

如何让 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;

... ...

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

【问题讨论】:

    标签: gdb


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-06-28
      • 1970-01-01
      • 2022-09-27
      • 2019-08-07
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      相关资源
      最近更新 更多