2011-10-17 13 views
5

Jak mogę zrobić, aby gdb drukował pola struktury rekurencyjnie,
tj. Śledź wskaźniki.Jak drukować strukturę C rekurencyjnie w gdb

Teraz muszę wejść do każdego pola i określić "*", aby wydrukować podstrukturę lub trzeba wpisać rzut, aby zobaczyć, co znajduje się wewnątrz podstruktury.

np.

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; 

... ...

Teraz chciałbym zrobić "P * PC" na wierszu gdb,
aby zobaczyć wszystko, a nie tylko adres PB.

Odpowiedz

2

Najlepszym sposobem na osiągnięcie tego, co chcesz, jest napisanie pythonowej drukarki dla twoich struktur. Dokumentacja here.

Powiązane problemy