Eclipse CDT调试:进入cout并不起作用

时间:2015-03-18 14:03:58

标签: c++ linux eclipse debugging stream

我正在尝试使用Eclipse调试C ++应用程序。

已使用的程序版本:

  • Eclipse:4.4 Debian Linux上的Luna SR2(Jessie)
  • GDB:7.7.1
  • 海湾合作委员会:4.9.2

我的目的是了解流中发生的事情并了解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中代码的每一行。

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

但是进入任何其他行都不起作用, eclipse会在没有发出警告的情况下超越所有其他调用

如何进入 std :: cout运算符&lt;&lt; 以及其他函数调用的调用?

0 个答案:

没有答案