【问题标题】:Mac C++/eclipse cannot debug: Error while launching command: gdb --versionMac C++/eclipse 无法调试:启动命令时出错:gdb --version
【发布时间】:2019-05-31 17:16:00
【问题描述】:

我在 mac 上使用 c++/eclipse kepler,我无法调试任何项目。错误是“启动命令时出错:gdb --version”除此之外,我可以使用其他库构建和运行我的代码。

我搜索了一个与我的问题类似的网站:Debugger for C++ eclipse gives the following error. 'Launching program name' has encountered a ... Error while launching command: gdb --version

但是如果我使用的是 mac,我应该改变什么?

【问题讨论】:

  • 你真的安装了gdb吗?在终端中运行gdb --version。
  • 根据我的经验,这是与系统 PATH 相关的 Eclipse 错误。检查它是否有效或者您是否可以简化它。
  • 是的,我有 gdb,但它改名为 ggdb,但我仍然无法调试
  • 你在 OS X Mavericks 上吗?另外,你怎么知道它正在更改名称?你这是什么意思?

标签: c++ eclipse macos gdb


【解决方案1】:

您可以通过指定 gdb 的完整路径来解决此问题。您可以为每个调试配置单独执行此操作,也可以在 C/C++ > GDB 下的首选项中设置默认 gdb 位置。例如,如果您通过 Homebrew 安装 gdb,那么它可能位于 /usr/local/bin 下:

这是首选项的屏幕截图:

我仍然不知道为什么 Eclipse 无法找到 GDB,即使它在我的路径上。我猜它不使用我的.bash_profile 或我的.bashrc?您可以尝试将 gdb 符号链接到 /usr/bin。也许 Eclipse 会看那里。

编辑: 我尝试了符号链接的想法,现在 Eclipse 可以调试了,但是这样做时它会莫名其妙地崩溃!所以,我猜...不要那样做?

【讨论】:

  • 当 eclipse 中的环境变量设置更新为 gdb.exe 的正确路径时,我发现它工作正常。
【解决方案2】:

来自 UC Irvine 计算机科学教授页面的本指南对安装 GDB、创建证书、使用该证书签署 GDB 以及最后配置 Eclipse 所涉及的所有步骤进行了非常出色、详细且针对 Mac 的描述.对于不熟悉这些步骤的人,我发现这非常有帮助。

GDB Installation on Mac OS X

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。我通过以下方式解决了它:

    1. 安装一个gdb——(我用的是7.8.1)——编译安装。它安装在usr/local/bin
    2. 协同设计证书
    3. 使用sudo 打开 eclipse 可执行文件。否则我仍然会收到错误消息。

    我在 OS X 上。 希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      我现在也遇到了这个错误,花了一个多小时寻找它。 就我而言,路径是正确的,并且 eclipse 似乎无法将“任何”可执行文件作为调试器启动。 (我用 gksudo cat 进行了测试,但它显然无法有效地运行它)。

      最后一个原因是我在 eclipse.ini 中放入了 -Xms1G 和 -Xmx1G。 它似乎已经为索引器使用了全部内存,并试图分配更多内存来启动调试器因“未知”错误而失败。移除内存限制解决了这个问题。

      希望这对某人有所帮助

      【讨论】:

      • 我不敢相信这个错误可能来自性能问题...我在 VM 中运行 Eclipse,在减少了 VM 可以使用的 CPU 数量后,Eclipse 无法启动任何调试器...我已恢复更改,调试器现在可以正常启动...非常感谢!
      【解决方案5】:

      使 GDB 在 Eclipse 上工作时遇到了很多困难。我尝试了 LLDB,它就像一个魅力:

      https://wiki.eclipse.org/CDT/User/FAQ#How_do_I_get_the_LLDB_debugger.3F

      这对于 Mac 用户来说可能是更方便的选择。

      【讨论】:

        【解决方案6】:

        Mac OS Sierra 10.13.6 gdb 8.0.1

        与 topic-starter 有相同的错误。

        首先,我将路径设置为 Neil Traft(在答案中)向 usr/local/bin/gdb 解释;

        但是没有用。

        我找到了这些说明: https://gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d

        我发现我的系统中已经有了 gdbcert1。所以我从 7. 开始就遵循了一切!

        【讨论】:

          猜你喜欢
          • 2016-11-30
          • 2015-10-12
          • 2013-12-13
          • 1970-01-01
          • 2016-10-25
          • 1970-01-01
          • 1970-01-01
          • 2015-07-06
          • 2015-04-06
          相关资源
          最近更新 更多