use*_*027 37 eclipse debugging xcode 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.您有两种可能的选择:
我的建议是从Homebrew获得它.在他们的网站上查看下载链接并使用安装
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/hebrew/go)"
Run Code Online (Sandbox Code Playgroud)
让它安装.在成功安装GDB之后,您需要签署证书以使Eclipse能够使用GDB,否则它将显示错误:
无法找到进程ID为28885的Mach任务端口:(os/kern)失败(0x5).(请检查gdb是否为codesigned - 请参阅taskgated(8))
这意味着Eclipse现在可以找到GDB但由于Apple证书问题而无法运行它.
要签署GDB应用程序并使Eclipse运行它,请遵循以下指南:
https://sourceware.org/gdb/wiki/BuildingOnDarwin
可归纳为:
打开菜单/钥匙串访问/证书助理/创建证书(TOP MENU BAR)
选择一个名称(示例中为gdb-cert)3.1将"Identity Type"设置为"Self Signed Root"3.2将"Certificate Type"设置为"Code Signing"3.3检查标志"Let me override defaults"3.4单击"继续"直到进入"指定证书位置"屏幕"然后将钥匙串设置为"系统"3.5如果您无法将证书存储在"系统"钥匙串中,请在"登录"钥匙串中创建,然后导出它.然后,您可以将其导入"系统"钥匙串.3.6确保"系统"中有"gdb-cert"(左上方窗口)
在新制作的证书(gdb-cert)上按两次,选择"获取信息",
现在您需要通过终端进行签名认证
$ codesign -s gdb-cert ../path of GDB
Run Code Online (Sandbox Code Playgroud)
例:
$ codesign -s gdb-cert /usr/local/bin/gdb
Run Code Online (Sandbox Code Playgroud)
你们现在都已经准备就绪....准备在MacOSX Mavericks上调试Eclipse上的C/C++应用程序
确保你已经正确设置了所有设置再次仔细检查Eclipse菜单运行 - >调试配置 - >调试器行:GDB调试器 - >/usr/local/bin/gdb(或你的本地路径,检查"$ which gdb "获取正确的路径"GDB命令文件 - > .gdbinit
Apple让GDB安装在小牛队,但他们喜欢在做一个简单的Hallo World计划之前将人们的头埋在墙上.没有意见.
玩得开心,我希望能节省你的时间!
归档时间: |
|
查看次数: |
11243 次 |
最近记录: |