2011-10-17 9 views
5

に再帰的にC構造を印刷する方法をどのように私はgdbの印刷構造体のフィールドを再帰的に、
すなわちポインタを追従させることができます。は、GDB

今のところ、各フィールド内に入り、サブ構造の
を印刷するには '*'を指定するか、サブ構造内の内容を表示するにはcastをタイプする必要があります。

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; 

... ...今

は、私はすべてではなく、PBのちょうどアドレスを確認するために、GDBプロンプトで
を "のp *のPC" をやりたいです。

答えて

2

あなたが望むものを達成するための最良の方法は、あなたの構造体のためのpythonプリティプリンタを記述することです。ドキュメントhere