1

在 gdb 中有没有办法获取结构的基本数据类型?

假设以下结构

typedef struct _trial
{
        int i;
        double j;
}trial_t;

在 gdb 中

(gdb) whatis trial_t
type = struct _trial
(gdb) whatis _trial
No symbol "_trial" in current context.
(gdb)

任何解决方法?

我知道这适用于简单的 typedef

typedef unsigned char BYTE; 
BYTE var;  
(gdb)whatis var 
type = BYTE 
(gdb)whatis BYTE 
BYTE = unsigned char 
4

1 回答 1

3

你可能想要ptype

ptype 接受与 whatis 相同的参数,但打印类型的详细描述,而不仅仅是类型的名称。

(gdb) ptype struct _trial

甚至:

(gdb) ptype trial_t

与 whatis 不同,ptype 总是在其参数声明中展开任何类型定义

于 2012-08-15T20:00:32.543 回答