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は常に引数宣言でtypedefを展開します

于 2012-08-15T20:00:32.543 に答える