Eclipse CDTdebugging:步入cout不起作用

我想用Eclipsedebugging一个C ++应用程序。

使用的程序版本:

  • Eclipse:Debian Linux上的4.4 Luna SR2(Jessie)
  • GDB:7.7.1
  • GCC:4.9.2

我的意图是理解stream内发生了什么,并了解stringbuf类的内部:

#include <iostream> #include <stdio.h> #include <sstream> int main() { printf("Hello C world!\n"); std::cout << "Hello C++ world!" << std::endl; std::ostringstream my_ostringstream; std::stringbuf* my_p_stringbuf; my_p_stringbuf = my_ostringstream.rdbuf(); std::cout << my_p_stringbuf->sbumpc(); } 

我所尝试的是进入 main中的每一行代码。

(令我惊讶的)结果是,唯一的日食实际上试图进入到printf的调用,它发出警告:无法find源文件“/build/glibc-Y1PEyp/glibc-2.19/libio /ioputs.c“这对我来说很好,因为eclipse和gdb告诉我他们正在寻找一个文件,而且它丢失了。

但是,进入任何其他行不起作用, 蚀刻所有其他调用的步骤没有发出警告

我怎么能进入调用std :: cout operator <<和其他函数调用?