我无法查看我定义的结构的所有typedefs。特别是,如果没有使用typedef,当打印类型时,gdb不会显示它。这里有一个例子:gdb:查看未使用的结构typedef
struct D
{
typedef double dtype;
typedef int itype;
};
int main(int /*argc*/, char** /*argv*/)
{
D::dtype t;
t = 2;
return 0;
}
当我运行GDB,我然后键入ptype D
,但我只得到以下
(gdb) ptype D
type = struct D {
typedef double dtype;
}
(gdb)
有没有办法打印所有的typedef,即使不使用他们? 其他信息:
- 我已经
set print type typedefs on
- 我编译与调试符号:
g++ -g -o test main.cpp
- gdb的版本是7.10
- gcc版本是5.3
为什么除了[С++]之外,这个标记为[С]?这似乎是一个C++特定的问题。 – AnT
那么,typedef关键字也存在于C中,不是吗? – bartgol
是的,但不能将typedefs嵌入到C中的结构中。这个问题在C中不存在。 – AnT