3

有没有办法从 GDB 中打印类型属性?
例如整数大小。

4

1 回答 1

9

是的:

(gdb) p事物属性

一些属性被识别,而另一些则不被识别。(在下面列出的内容中,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

以下是使用 gdb 进行调试的Ada 部分的列表:

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,尽管第一个项目符号说它对类型无效。)

于 2009-04-14T01:14:36.440 回答