web-dev-qa-db-fra.com

Comment afficher un pointeur comme un tableau dans GDB?

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?

33
CDT

Voir ici. En bref, vous devriez faire:

p *array@len
69
Ivaylo Strandjev

*(T (*)[N])p où T est le type, N est le nombre d'éléments et p est le pointeur.

14
R..

Utilisez la commande x.

(gdb) x/100w a
8
aschepler