Eclipse GDB MacOSX Mavericks

时间:2013-11-09 14:22:37

标签: xcode eclipse debugging osx-mavericks

使用带有XCode 5.0的Eclipse C / C ++项目进行Application Debug时遇到了很多问题,我终于做到了。我终于能够成功调试我的应用程序了,这就是为什么我决定制作这个小教程,希望能节省时间给别人。

当尝试在Mavericks OS上的Eclipse上用C / C ++编写调试和应用程序时,它会出现“Error gdb - version”。

这是因为Eclipse无法在新的Mac OSX上找到GDB调试,因为Apple不再使用GDB支持代替LLDB。要检查这是否是您的情况,只需尝试从终端gdb运行,它将显示为未找到的文件。

问题是LLDB尚未针对Eclipse配置(或者相反)。那么如何让Eclipse再次调试应用程序,就像之前的10.8操作系统一样?

首先获取并编译GDB。您有两种可能的选择:

  • Macports(不幸的是,Mavericks发行版陷入了构建getext库)
  • 自制

我的建议是从Homebrew获取它。在他们的网站上查看下载链接并使用

进行安装
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/hebrew/go)"

让它安装。在成功安装GDB之后,您需要签署证书以使Eclipse能够使用GDB,否则它将显示错误:

  

无法找到进程ID为28885:(os / kern)失败的Mach任务端口   (0x5的)。 (请检查gdb是否为codesigned - 请参阅taskgated(8))

这意味着Eclipse现在可以找到GDB,但由于Apple证书问题而无法运行它。

要签署GDB应用程序并使Eclipse运行成为可能,请遵循以下指南:

https://sourceware.org/gdb/wiki/BuildingOnDarwin

可归纳为:

  1. 启动Keychain Access应用程序(/ Applications / Utilities / Keychain Access.app)
  2. 打开菜单/钥匙串访问/证书助理/创建证书(TOP MENU栏)

  3. 选择一个名称(示例中为gdb-cert) 3.1将“身份类型”设置为“自签名根” 3.2将“证书类型”设置为“代码签名” 3.3检查标志“让我覆盖默认值” 3.4在“继续”上单击几次,直到进入“为证书指定位置”屏幕,然后将钥匙串设置为“系统” 3.5如果您无法将证书存储在“系统”钥匙串中,请在“登录”钥匙串中创建,然后将其导出。然后,您可以将其导入“系统”钥匙串。 3.6确保“系统”(左上方窗口)中有“gdb-cert”

  4. 在新制作的证书上按两次选择“获取信息”(gdb-cert),

  5. 打开“Trus”项目,并设置“代码签名始终信任”
  6. 关闭钥匙串访问应用程序
  7. 从活动监视器重新启动“taskgated”应用程序
  8. 现在您需要通过终端

    签署认证
    $ codesign -s gdb-cert ../path of GDB
    

    示例:

    $ codesign -s gdb-cert /usr/local/bin/gdb
    

    你们现在都已经准备就绪....准备在MacOSX Mavericks上的Eclipse上调试你的C / C ++应用程序

    确保再次正确设置Eclipse菜单运行 - >调试配置 - >调试器: GDB调试器 - > / usr / local / bin / gdb(或你的本地路径,用“$ which gdb”检查它以获得正确的路径) GDB命令文件 - > .gdbinit

    Apple让GDB安装在小牛队,但他们喜欢在做一个简单的Hallo World计划之前将人们的头埋在墙上。没有评论。

    玩得开心,我希望能节省你的时间!

0 个答案:

没有答案