如果我重新运行我的程序,gdb漂亮的打印机停止工作

时间:2017-07-26 08:47:41

标签: c++ gdb

如果我使用在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;
}

enter image description here

1 个答案:

答案 0 :(得分:1)

这很可能是this libstdc++ pretty printers bug

您可以将this patch应用于当前安装的漂亮打印机或将整个gcc更新为更新版本。