Если у вас есть GDB, который поддерживает Ada, и если предположить, что очень большой означает массив, то используйте срезы.
(gdb) p x(1..3)
$2 = ((first => 0, second => 0), (first => 0, second => 0), (first => 0, second => 0))
(gdb) p x(1..5)
$3 = ((first => 0, second => 0), (first => 0, second => 0), (first => 0, second => 0), (first => 0, second => 0), (first => 0, second => 0))
(gdb)
Если это запись, доступ компонентов приведет к снижению выходной:
(gdb) p y.x
$2 = (a => 0 '["00"]', b => 0 '["00"]', c => 0 '["00"]', d => 0 '["00"]')
(gdb) p y.x.a
$3 = 0 '["00"]'
(gdb)
В противном случае, GDB, если работать с на линии оболочки командной, может трубы до более (1) на UNIX; изнутри Emacs становятся возможными все виды обработки вывода, поскольку GDB выводит текст.
«структура» означает «запись»? –