【问题标题】:MinGW gdb ignoring breakpoints when used with Eclipse CDT与 Eclipse CDT 一起使用时,MinGW gdb 忽略断点
【发布时间】:2013-10-07 18:33:43
【问题描述】:

我正在尝试使用 Eclipse CDT (Kepler) 和 MinGW 设置 Windows 7 机器。这里按照我执行的步骤:

  1. 我从官方仓库下载并安装了 MinGW
  2. 我从官网下载并安装了最新的(Kepler)Eclipse CDT
  3. 我更新了PATH 全局变量以包含MinGW bin 路径C:\MinGW\binPATH 变量也在 Eclipse 的 Environment 部分中正确设置。

但是,当我尝试调试(在调试模式下)一个简单的 Hello World 程序时,会忽略断点并继续执行直到结束。我尝试了以下解决方法但没有成功:

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

有什么建议吗?谢谢。

【问题讨论】:

    标签: c++ eclipse gdb eclipse-cdt


    【解决方案1】:

    对我来说,问题是我的程序的控制台输出弄乱了 gdb 的控制台输出,它由 Eclipse 解析。

    解决方案是告诉 gdb 为程序输出分配一个新控制台,方法是在 .gdbinit 文件中添加“set new-console on”(还要确保 .gdbinit 文件在 Eclipse 的“调试器选项”下指定)。

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

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 2013-11-20
      • 2014-01-15
      • 2017-06-06
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      相关资源
      最近更新 更多