Mac OS X v10.7(Lion)上的Gdb

25

我是一名新的Mac用户,想知道如何安装最新版本的GDB(> 7.1)。我更喜欢使用Homebrew,但我没有找到GDB的列表。

brew install gdb
Error: No available formula for gdb

最佳的方法是什么?

安装Xcode时,可能会安装旧版本。目前,

$ which gdb
/usr/bin/gdb

$ gdb --version
GNU gdb 6.3.50-20050815 (Apple version gdb-1705) (Fri Jul  1 10:50:06 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.

但是我需要大于 7.1 版本的版本。

系统版本,

Model Name:     MacBook Air
System Version: Mac OS X 10.7.1 (11B2118)
3个回答

35

感谢您的快速回复。如果没有其他回复,我会接受这个答案...再次感谢。 - bsr
这会破坏现有的gdb安装,还是它们可以共存?如果可能的话,也许可以通过安装具有不同名称的备用版本来实现? - ihatetoregister
3
如果你按照这些步骤进行,它们将会把 gdb 和其他东西安装到不同的目录(/usr/local 通常用于本地安装,并且不受系统软件更改的影响),这样你就可以在正常路径(/usr/bin)中使用 gdb,而将 gcc/gdb 分别安装在其他位置。你只需要记住,如果你执行 gdb,它取决于 PATH 变量控制使用哪个 gdb。 - wkl
gdb-6.3 不能与 emacs 的 gdb 模式一起使用。我使用了您的方法安装了 gdb-7.5,现在可以使用了 :) - RockU
请注意,如果您通过Xcode而不是命令行运行gdb,请勿尝试按照此答案中描述的方式升级gdb。我浪费了很多时间尝试这样做,只发现Xcode使用的gdb已经被大量修改以仅与Xcode配合使用。最好的方法是升级到Xcode 4.6.3附带的最新gdb(在Xcode 3中实际上可以在Mavericks上工作,而Xcode 3附带的gdb在Mavericks上会崩溃)。 Xcode 5及更高版本仅附带lldb。 - Winter Dragoness

27

对于一些新用户来说,在升级到Mac OS X v10.9(Mavericks)后,可能会遇到相同的情况。

解决方法:

安装开发工具和Xcode

然后安装Homebrew

最后执行以下命令:

 brew install homebrew/dupes/gdb

您会发现,有些应用程序将不允许您使用新添加的 GDB。

这是因为它不再由苹果公司签名。

为了避开这个问题:请按照 这里 的步骤;感谢 @andre 提供的帮助。

有些人在 IRC 上问我需要更详细的说明。我在我的网站上发布了一篇文章。您可以在这里找到它。


感谢您提供帖子链接。唯一的问题是,您帖子中的codesign命令无法正常运行(codesign -s '证书名称' which gdb)。 - rsc
我尝试了,但没有成功。而且你实际上使用了两个不同的引号,这是有意为之吗? - rsc
@RSC:我刚刚再次检查了。 codesign -s '证书名称' \which gdb``你能将你的命令完全复制一遍吗?包括你为证书选择的名称? - Cripto
是的。成功了。所以,很可能是我在复制/粘贴过程中出了错。如果您不介意的话,可以添加一条注释,例如“是的,完全复制这两个不同的符号”来帮助那些不太懂的人 :) - rsc
@RSC 很高兴它对你有用。我已经添加了那个。看一下并告诉我是否清晰。 - Cripto
显示剩余2条评论

1
这并没有直接回答所提供的问题,但如果你和我一样,你真正想要的是一个简单的方法来运行(类似于)gdb。苹果现在使用Clang作为其编译器,而clang调试器lldb与其他命令行工具一起安装。看起来lldb的用户界面非常接近gdb。因此,你的问题的答案实际上可能是:只需使用lldb!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接