2009-04-13 12 views
2

Existe-t-il un moyen d'imprimer un attribut de type à l'intérieur de GDB?
E.g. Entier'Size.Comment imprimer des attributs de type dans GDB?

+0

Pensez-vous que taper "print sizeof (int)" sur la ligne de commande de gdb résout votre problème? – dirkgently

+0

La question est taguée avec ada, donc j'interprète cet attribut de type comme étant une chose spécifique ada inconnue pour moi, et je ne pense pas que sizeof soit la réponse. – hlovdal

+0

sizeof() est en C/C++ ... la question est définitivement spécifique à Ada. – paxos1977

Répondre

8

Oui:

(gdb) p thing'attribute

Certains attributs sont reconnus, et d'autres ne sont pas. (Dans ce qui est énumérés ci-dessous, Trouvé est une variable booléenne.)

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 

est Voici la liste de la Ada section de débogage avec 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, cette liste peut être datée, puisque je pouvais faire Integer'Last, malgré la première balle disant que ce n'est pas valide sur les types.)

Questions connexes