在gdb - C++中打印流值

thi*_*him 10 c++ gdb stream

我试图看到stream的值(ifstream,但它应该适用于所有类型的流我猜).示例代码可能如下所示:

stringstream in("One Two Three Four Five");
while(in)
cout << in;
Run Code Online (Sandbox Code Playgroud)

我试图通过以下方式来做,但它们似乎都不起作用:

(gdb) print in
(gdb) call cout << in
(gdb) call in.getline()
Run Code Online (Sandbox Code Playgroud)

... 等等.

有什么办法可以看到流的价值吗?

小智 11

您必须确保libstdc++包含使用调试标志编译的库.

我安装了libstdc++6-8-dbg包,现在我可以查看所有流对象数据了gdb.