MinGW gdb在与Eclipse CDT一起使用时忽略断点

时间:2013-10-01 14:30:14

标签: c++ eclipse gdb eclipse-cdt

我正在尝试使用Eclipse CDT(Kepler)和MinGW设置Windows 7计算机。按照我的步骤进行操作:

  1. 我从官方存储库下载并安装了MinGW
  2. 我从官方网站
  3. 下载并安装了最新的(Kepler)Eclipse CDT
  4. 我更新了PATH全局变量,以便包含MinGW bin路径C:\MinGW\binPATH变量也在Eclipse的Environment部分中正确设置。
  5. 但是,当我尝试调试(在调试模式下)一个简单的Hello World程序时,会忽略断点并继续执行直到结束。我尝试了以下变通方法但没有成功:

    • 添加以下链接器标志:-static-libgcc -static-libstdc++
    • 手动指定二进制解析器(PE Windows Parser
    • 将首选启动器更改为Standard: create process launcher
    • main函数的开头添加以下行:setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0);

    有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:1)

对我来说,问题是我的程序的控制台输出搞砸了gdb的控制台输出,这是由Eclipse解析的。

解决方法是告诉gdb为程序输出分配一个新的控制台,方法是在你的.gdbinit文件中添加“set new-console on”(同时确保在Eclipse的“Debugger options”下指定.gdbinit文件) )。

这里也有讨论: https://bugs.eclipse.org/bugs/show_bug.cgi?id=327766