2009-04-13 8 views
2

Gibt es eine Möglichkeit, ein Typattribut in GDB zu drucken?
z. Ganzzahl'Größe.Wie kann ich Typattribute in GDB drucken?

+0

Glauben Sie, dass die Eingabe von "print sizeof (int)" in der Befehlszeile von gdb Ihr Problem löst? – dirkgently

+0

Die Frage ist mit Ada getaggt, also interpretiere ich dieses Typattribut als etwas für mich Unbekanntes und eine bestimmte Sache, und ich denke nicht, dass Sizeof die Antwort ist. – hlovdal

+0

sizeof() ist C/C++ ... die Frage ist definitiv Ada spezifisch. – paxos1977

Antwort

8

Ja:

(GDB) p thing'attribute

Einige Attribute erkannt werden, und andere nicht. (In, was unten aufgeführt, gefunden ist eine Boolesche Variable.)

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 

Hier ist die Liste der Ada section von Debugging mit 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. 

(Hmm, das Liste datiert werden kann, da ich konnte Integer'Last, trotz der ersten Kugel, die besagt, dass es auf Typen nicht gültig ist.)