Предположим, что определено: int a[100]
Тип print a
, тогда gdb автоматически отобразит его как массив: 1, 2, 3, 4...
. Однако, если a
передается функции как параметр, тогда gdb будет рассматривать его как обычный указатель int, тип print a
будет отображать: (int *)0x7fffffffdaa0
. Что делать, если я хочу просмотреть a
как массив?
Gdb - Как просмотреть указатель, как массив?
Ответ 1
Смотрите здесь. Короче вы должны сделать:
p *[email protected]
Ответ 2
*(T (*)[N])p
где T - тип, N - число элементов, а p - указатель.
Ответ 3
Используйте команду x
.
(gdb) x/100w a