2011-10-17 21 views
5

¿Cómo puedo hacer que gdb imprima campos de una estructura recursivamente,
es decir, siga los punteros.Cómo imprimir una estructura C recursivamente en gdb

Ahora mismo, tengo que entrar en cada campo y especificar un '*' para imprimir
la subestructura, o tener que escribir cast para ver qué hay dentro de la subestructura.

p. Ej.

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; 

... ...

Ahora, me gustaría hacer "p * PC" en la línea de GDB,
de ver todo en lugar de sólo la dirección del PP.

Respuesta

2

La mejor manera de lograr lo que desea es escribir una impresora bonita de python para sus estructuras. Documentación here.

Cuestiones relacionadas