如何在gdb中获取结构的基本数据类型

时间:2012-08-15 19:51:33

标签: c gdb

在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 

1 个答案:

答案 0 :(得分:3)

您可能需要ptype

  

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

(gdb) ptype struct _trial

甚至:

(gdb) ptype trial_t
  

与whatis相反,ptype始终在其参数中展开任何typedef   声明