C++ 配置gdb以更改对象的显示

C++ 配置gdb以更改对象的显示,c++,object,gdb,C++,Object,Gdb,在GDB中,由于包含模板对象,因此对象通常显示为大量三角形。 有很多无用的std::char\u特征 有没有办法过滤掉这些东西?基本上,我想知道是否可以将.gdbinit配置为仅显示std::string的文本,以及向量的前几个元素 或者,是否有某种宏我可以写出来,让我只打印出一个对象的特定字段,而不是手工写 对于字符串,我可以写: p s.c_str() 但如果为空,我将得到一个seg错误。 我希望有足够的逻辑来忽略这一点,但我不知道gdb是否有任何设施用于此?是的,有这样的事情!这有点有限

在GDB中,由于包含模板对象,因此对象通常显示为大量三角形。 有很多无用的std::char\u特征

有没有办法过滤掉这些东西?基本上,我想知道是否可以将.gdbinit配置为仅显示std::string的文本,以及向量的前几个元素

或者,是否有某种宏我可以写出来,让我只打印出一个对象的特定字段,而不是手工写

对于字符串,我可以写:

p s.c_str()
但如果为空,我将得到一个seg错误。

我希望有足够的逻辑来忽略这一点,但我不知道gdb是否有任何设施用于此?

是的,有这样的事情!这有点有限,但你可以做到


看,还有

是的,有这样的事情!这有点有限,但你可以做到


看看,还有什么是有限的?GDB支持7.0版的python输出例程。如果你愿意,你也可以为自己的类编写漂亮的打印机,其实很简单。有什么限制?GDB支持7.0版的python输出例程。如果需要,您还可以为自己的类编写漂亮的打印机,这实际上非常简单。