2
Есть ли способ распечатать атрибут типа изнутри GDB?
. Integer'Size.Как напечатать атрибуты типа в GDB?
Есть ли способ распечатать атрибут типа изнутри GDB?
. Integer'Size.Как напечатать атрибуты типа в GDB?
Да:
(GDB) р thing'attribute
Некоторые атрибуты признаются, а другие нет. (В чем перечислено ниже, найдено булева переменная.)
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 section отладочных с БГД:
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.
(Хм, этот список может быть устаревшей, так как я мог do Integer'Last, несмотря на то, что первая пуля говорит о том, что она недействительна для типов.)
Как вы думаете, печатая «print sizeof (int)» в командной строке gdb решает вашу проблему? – dirkgently
Вопрос помечен ada, поэтому я интерпретирую атрибут этого типа как часть для меня неизвестной специфической вещи ada, и я не думаю, что sizeof является ответом. – hlovdal
sizeof() - это C/C++ ... вопрос определенно специфичен для Ada. – paxos1977