我無法查看我定義的結構的所有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