Printing 在gdb中,可以限制结构打印吗?

Printing 在gdb中,可以限制结构打印吗?,printing,stl,gdb,Printing,Stl,Gdb,当我在gdb中打印一个类时,如果我的类包含STL成员,那么会生成很多无用的输出,使得很难看到有用的东西。这样做会更好: (gdb) p foo $2 = { count = 0, name = <std::string> ..., other = 0x4f06f58 } (gdb)p foo $2 = { 计数=0, 名称=。。。, 其他=0x4f06f58 } 这在vanilla gdb中可能吗?如果您的gdb配置为使用,那么这应该不是问题。使用正确配置的prett

当我在gdb中打印一个类时,如果我的类包含STL成员,那么会生成很多无用的输出,使得很难看到有用的东西。这样做会更好:

(gdb) p foo
$2 = {
  count = 0,
  name = <std::string> ...,
  other = 0x4f06f58
}
(gdb)p foo
$2 = {
计数=0,
名称=。。。,
其他=0x4f06f58
}

这在vanilla gdb中可能吗?

如果您的gdb配置为使用,那么这应该不是问题。使用正确配置的pretty printers,具有STL成员的类应如下所示:

(gdb) p foo
$2 = {
  count = 0,
  name = "some string",
  other = 0x4f06f58
}

请注意,有些发行版已经配置了漂亮的打印机。

您可以打印感兴趣的单个元素。例如,
foo.count
True,但在这种情况下,我想看看存在哪些成员。是的,我知道,使用一个真正的编辑器,它会立即向我显示定义。