Supposons défini: int a[100]
Tapez print a
alors gdb l'affichera automatiquement sous forme de tableau: 1, 2, 3, 4...
. Cependant, si a
est passé à une fonction en tant que paramètre, alors gdb la traitera comme un pointeur int normal, tapez print a
Affichera:(int *)0x7fffffffdaa0
. Que dois-je faire si je souhaite afficher a
sous forme de tableau?
Voir ici. En bref, vous devriez faire:
p *array@len
*(T (*)[N])p
où T est le type, N est le nombre d'éléments et p est le pointeur.
Utilisez la commande x
.
(gdb) x/100w a