在mac上使用gdb在eclipse中调试-未能执行MI命令:-exec run

在mac上使用gdb在eclipse中调试-未能执行MI命令:-exec run,c,eclipse,macos,debugging,gdb,C,Eclipse,Macos,Debugging,Gdb,我有我的EclipseKepler和我的简单HelloWorld C程序,我想学习如何调试C程序。单击“调试”按钮时,我收到以下错误消息: 最终发射序列中的错误 无法执行MI命令: -执行运行 来自调试器后端的错误消息: 找不到进程id 359:(os/kern)故障(0x5)的Mach任务端口。 找不到进程id 359:(os/kern)故障(0x5)的Mach任务端口 我找了一整天,没有找到任何解决办法。在这篇文章中,我已经做了所有推荐的事情,但仍然出现了这个错误 如果有人能帮助我在Ecli

我有我的EclipseKepler和我的简单HelloWorld C程序,我想学习如何调试C程序。单击“调试”按钮时,我收到以下错误消息:

最终发射序列中的错误 无法执行MI命令: -执行运行 来自调试器后端的错误消息: 找不到进程id 359:(os/kern)故障(0x5)的Mach任务端口。 找不到进程id 359:(os/kern)故障(0x5)的Mach任务端口

我找了一整天,没有找到任何解决办法。在这篇文章中,我已经做了所有推荐的事情,但仍然出现了这个错误

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


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

如果您在对“gdb证书”进行所有更改之前签署了“gdb”,则可能会发生这种情况。然后,您可以重新启动“taskgated”,然后对“gdb”可执行文件重新签名

  • ps-e |格雷普
  • sudo kill-9<;taskgated的pid>
  • 代码设计-f-s gdb证书$(哪个gdb)
  • 这对我有用

    继续使用gdb(而不是gdb apple),只需执行以下步骤:

    1-创建证书:

    • 启动钥匙链访问应用程序(/Applications/Utilities/Keychain Access.app)
    • 打开菜单/钥匙链访问/证书助理/创建证书
    • 选择名称(示例中为gdb证书),将标识类型设置为“自签名根”,将证书类型设置为“代码签名”,然后选择“让我覆盖默认值”
    • 在“继续”上单击几次,直到进入“指定证书位置”屏幕,然后将Keychain设置为“系统”
    • 使用证书的上下文菜单,选择“获取信息”,打开信任项,并将代码签名设置为“始终信任”
    2-您必须退出密钥链访问应用程序(名为“taskgated”,来自活动监视器)并再次打开它才能使用证书

    3-将证书分配给gdb:

    • 使用以下命令:
      $codesign-s gdb cert gdb
    有关详细信息,请查看此链接:


    如果这些步骤中有任何一个不清楚,请随时询问。

    如果出现以下错误,请不要忘记在命令前面添加
    sudo

    sudo codesign-s gdb cert$(哪个gdb apple)

    codesign-s gdb cert$(哪个gdb apple)


    在优胜美地为我工作。非常感谢。
    error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate: can't create output file: /opt/local/bin/gdb-apple.cstemp (Permission denied)
    /opt/local/bin/gdb-apple: the codesign_allocate helper tool cannot be found or used