c - 在 mac 上使用 gdb 在 eclipse 中调试 - 无法执行 MI 命令 : -exec-run

标签 c eclipse macos debugging gdb

我有我的 Eclipse Kepler 和我简单的 HelloWorld C 程序,我想学习如何调试 C 程序。单击调试按钮时,出现以下错误消息:

最终启动顺序错误 执行 MI 命令失败: -执行运行 来自调试器后端的错误消息: 无法找到进程 ID 359 的 Mach 任务端口:(os/kern) 失败 (0x5)。 无法找到进程 ID 359 的 Mach 任务端口:(os/kern) 失败 (0x5)。

我搜索了一整天,没有找到任何解决方案。我已经做了这篇文章中所有推荐的事情 Eclipse GDB MacOSX Mavericks并且仍然出现此错误。

如果有人能帮助我在 Eclipse 中设置调试器,那就太好了。

哦,我通过 macports 下载并安装了 gdb-apple,我不得不在 codesign 命令中使用“-f”选项,因为没有它就无法工作。也许这些是重要的信息。

最佳答案

继续使用 gdb(不是 gdb-apple)并执行以下步骤:

1- 创建证书:

  • 启动钥匙串(keychain)访问应用程序 (/Applications/Utilities/Keychain Access.app)
  • 打开菜单/Keychain Access/Certificate Assistant/Create a Certificate...
  • 选择一个名称(示例中的 gdb-cert),将身份类型设置为“自签名根”,将证书类型设置为“代码签名”并选择“让我覆盖默认值”。
  • 多次点击“继续”,直到到达“为证书指定位置”屏幕,然后将“钥匙串(keychain)”设置为“系统”。
  • 使用证书的上下文菜单,选择“获取信息”,打开“信任”项,然后将“代码签名”设置为“始终信任”。

2- 您必须退出钥匙串(keychain)访问应用程序(名为“taskgated”,来自事件监视器)并再次打开它才能使用证书。

3- 将证书分配给 gdb:

  • 使用以下命令:$ codesign -s gdb-cert gdb

有关详细信息,请查看此链接: http://sourceware.org/gdb/wiki/BuildingOnDarwin

如果其中任何步骤不清楚,请随时提问。

关于c - 在 mac 上使用 gdb 在 eclipse 中调试 - 无法执行 MI 命令 : -exec-run,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22640787/

相关文章:

objective-c - 如何使用 NSPasteboard 和 kPasteboardTypeFileURLPromise 进行复制/粘贴?

c - 从输入中获取内存地址。 C

c++ - 如何在AVR中定义或创建自定义的PORT和PIN?

android - 在eclipse中运行而不调试

swift - 如何在 Process() 中包含命令修饰符?

c - 什么是 CPU_STATE_MAX?

c - boolean 抽象 C 程序

c - 如果程序使用 sudo 运行,我如何获得用户的真实 uid?

python - Eclipse XLRD、XLWT 导入错误

java - Eclipse 中的 Maven 构建调试