如何使用GDB/MI获取变量的基本类型

Rya*_*yan 2 c types gdb

使用GDB机器接口,有没有办法获得特定变量的基本类型?例如,如果我有一个类型为uint32_t的变量(来自types.h),有一种方法可以让GDB告诉我该变量的基本类型是unsigned long int,或者uint32_t是typedef'ed到一个unsigned long int?

Kam*_*ath 9

您可以使用"whatis"命令

假设你有

typedef unsigned char BYTE;
BYTE var;

(gdb)whatis var
type = BYTE
(gdb)whatis BYTE
BYTE = unsigned char
Run Code Online (Sandbox Code Playgroud)