Как я могу напечатать атрибуты типа в GDB? - PullRequest
2 голосов
/ 14 апреля 2009

Есть ли способ напечатать атрибут типа из GDB?
Например. Integer'Size.

1 Ответ

8 голосов
/ 14 апреля 2009

Да

(gdb) p thing'attribute

Некоторые атрибуты распознаются, а другие нет. (В том, что указано ниже, Found - это логическая переменная.)

gdb) p integer'size
Attempt to use a type name as an expression
(gdb) p found'size
$2 = 8
(gdb) p integer'first
$3 = -2147483648
(gdb) p integer'last
$4 = 2147483647

Вот список из раздела Ada Отладки с помощью gdb:

Only a subset of the attributes are supported:

     * 'First, 'Last, and 'Length on array objects (not on types and subtypes).
     * 'Min and 'Max.
     * 'Pos and 'Val.
     * 'Tag.
     * 'Range on array objects (not subtypes), but only as the right operand of the membership (in) operator.
     * 'Access, 'Unchecked_Access, and 'Unrestricted_Access (a GNAT extension).
     * 'Address.

(Хм, этот список может быть датирован, так как я мог бы сделать Integer'Last, несмотря на то, что в первом пункте говорится, что он недействителен для типов.)

...