gdb でクラスを出力するときに、クラスに STL メンバーが含まれていると、役に立たない出力が大量に生成され、有用なものが見にくくなります。このようなものが良いでしょう:
(gdb) p foo
$2 = {
count = 0,
name = <std::string> ...,
other = 0x4f06f58
}
これはバニラgdbで可能ですか?
gdbがPythonでプリティプリンターを使用するように構成されている場合、これは問題にはなりません。適切に構成されたプリティプリンターを使用すると、STLメンバーを含むクラスは次のようになります。
(gdb) p foo
$2 = {
count = 0,
name = "some string",
other = 0x4f06f58
}
一部のディストリビューションでは、プリティプリンターが既に構成されていることに注意してください。