如果我使用在gdb中运行的命令来重新运行我的程序,我就不能再像我一样打印我的c ++对象了:
$ gdb ./some_program
(gdb) br some_where
(gdb) run
(gdb) print some_vector # the vector is pretty printed
(gdb) run
(gdb) print some_vector # the vector is no longer pretty printed
以下是我使用的示例代码及其实际的gdb会话:
#include <vector>
#include <iostream> using namespace std;
int main()
{
vector<int> v{1};
cout << v[0] << endl;
}
答案 0 :(得分:1)
这很可能是this libstdc++ pretty printers bug。
您可以将this patch应用于当前安装的漂亮打印机或将整个gcc更新为更新版本。