我无法查看我定义的结构的所有 typedef。特别是,如果未使用 typedef,则 gdb 在打印类型时不会显示它。这是一个例子:
struct D
{
typedef double dtype;
typedef int itype;
};
int main(int /*argc*/, char** /*argv*/)
{
D::dtype t;
t = 2;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行 gdb 时,我输入ptype D,但我只得到以下内容
(gdb) ptype D
type = struct D {
typedef double dtype;
}
(gdb)
Run Code Online (Sandbox Code Playgroud)
有没有办法打印所有类型定义,即使它们没有被使用?杂项信息:
set print type typedefs ong++ -g -o test main.cppGCC 默认情况下会忽略调试信息中未使用的类型。如果您确实需要此类型出现在调试信息中,请使用-fno-eliminate-unused-debug-types. 然而,正如手册警告的那样,这将使生成的调试信息膨胀。
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |