2009-04-13 2 views
2

Есть ли способ распечатать атрибут типа изнутри GDB?
. Integer'Size.Как напечатать атрибуты типа в GDB?

+0

Как вы думаете, печатая «print sizeof (int)» в командной строке gdb решает вашу проблему? – dirkgently

+0

Вопрос помечен ada, поэтому я интерпретирую атрибут этого типа как часть для меня неизвестной специфической вещи ada, и я не думаю, что sizeof является ответом. – hlovdal

+0

sizeof() - это C/C++ ... вопрос определенно специфичен для Ada. – paxos1977

ответ

8

Да:

(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, несмотря на то, что первая пуля говорит о том, что она недействительна для типов.)

Смежные вопросы