OS X v10.9 (Mavericks) 中缺少 GDB
Posted
技术标签:
【中文标题】OS X v10.9 (Mavericks) 中缺少 GDB【英文标题】:GDB missing in OS X v10.9 (Mavericks) 【发布时间】:2013-10-23 23:51:56 【问题描述】:我在 OS X v10.9 (Mavericks) 中使用了 GDB,但它不存在。去哪儿了?
# /usr/lib/gdb
-bash: /usr/bin/gdb: No such file or directory
# gdb
-bash: gdb: command not found
我还推出了 Xcode 5.0.1:
首选项 > 下载
..并且不再有可用的命令行工具 - ffs!
【问题讨论】:
命令行工具可用,developer.apple.com/downloads/… 要到达那里,从 XCode 转到 XCode > Open Developer Tool > More Developer Tools... 编辑:没关系,因为命令行工具中也没有 GDB... 自从我问了这个问题后,很多人都问我用什么 ./configure 选项来实现这个功能:./configure --prefix=/usr/local --enable-targets=x86_64-apple-darwin13.0.0 --enable-64-bit-bfd --disable-werror --build=x86_64-apple-darwin13.0.0 --host=x86_64-apple-darwin13.0.0 --target=x86_64-apple-darwin13.0.0
【参考方案1】:
gdb
已替换为 lldb
,不再受支持。 gcc
和llvm-gcc
也不见了,取而代之的是clang
。
【讨论】:
还有办法使用 gdb 吗? 我不知道。您可以自己构建它(例如,通过自制软件),但我不知道它的效果如何。 嗨,鲶鱼先生,我让它工作了。它只需要使用正确的 ./configure 命令从源代码编译它:) thx! 我也对 ./configure 很好奇。我使用默认设置构建,除了附加到实时进程外,一切正常。符号错误,当我按 ctrl-C 时它会崩溃。 我通过 brew 安装,并在尝试加载可执行文件时不断收到“_____:不是可执行格式:文件格式无法识别”。谁能评论他们是如何成功安装的?【参考方案2】:您可以使用 Homebrew 在 Mavericks 上安装它。
brew install homebrew/dupes/gdb
【讨论】:
brew install dupx
一直告诉我checking for gdb... no
这在 Maveric 上对我不起作用。 Homebrew 给了我一个错误,安装似乎有很多未解决的问题。
这几乎对我有用,然后抱怨 GDB 没有正确签名(当我实际上试图用它调试某些东西时)。
仅供参考:这对我有用。我想不同的人对此有不同程度的困难。如果您能够安装它,请确保查看here 以获取签名说明。
我也遇到了签名错误,但是当我运行 sudo gdb target 时它得到了解决。【参考方案3】:
这个 Homebrew 命令用于在 Mavericks 上安装 GDB 工具:
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb
【讨论】:
@Sławoszbrew install gdb
现在似乎正在工作(在小牛队)。【参考方案4】:
谢谢我。我使用了您的 ./configure 选项,并且工作起来非常有魅力。下一步是告诉 OS X 我们允许 GDB 进行调试。这是通过通过钥匙串创建证书,将其导出,然后sudo codesing -s gdb-cert /route/to/gdb
,提供凭据来完成的。
见GDB wiki detailed instructions
【讨论】:
【参考方案5】:我从 Maveics 中的源代码编译 GDB。
我更改了 makefile(在 ./configure 之后)以抑制一些应该是警告的错误...(添加了 -Wno-string-plus-int)
Line 385:
CFLAGS = -g -O2 -Wno-string-plus-int
Line 388:
CXXFLAGS = -g -O2 -Wno-string-plus-int
不知道两者是否都需要。
但是
事实证明,标准版本不支持从 .app 文件进行调试 (根据使用 Carbon 界面的 Lazarus 应用程序的需要)
如果您想自己动手,请点击此链接:https://sourceware.org/gdb/wiki/BuildingOnDarwin
【讨论】:
这可能行不通。我过去尝试过,生成的 gdb 无法调试应用程序。 在设置 CFLAGS="-I /usr/local/include" 之后,我也能够在 Mavericks 上从源代码编译,因此它选择了 libintl.h。不过不要忘记对代码进行签名,否则 gdb 将无法工作。有关这方面的信息,请参阅 ntraft.com/installing-gdb-on-os-x-mavericks。这一切的最终结果是在 NetBeans 中成功调试(我获得 GDB 的主要原因)。【参考方案6】:按照此处给出的步骤,它工作正常:http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5
【讨论】:
【参考方案7】:就我而言,我通过以下步骤使其在 OS X 上运行:
设置 GDB Homebrew 与此处描述的完全一样 http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5
然后将调试设置为Dwarf2: 项目 -> 项目选项..
如果运行/构建挂起然后重新启动计算机(任务门控或其他一些进程证书很可能没有经过身份验证),调试设置回到“自动(- g)" 编译并运行(出现验证对话框并登录),然后将调试设置更改为“Dwarf2”,它应该再次编译
尝试在运行操作后崩溃时始终停止 GDB,以防止此身份验证失败。
【讨论】:
【参考方案8】:您可以安装 www.macports.org 并安装 GDB。但是,您必须等待 Mavericks 的 MacPorts 安装程序,因为在撰写本文时它尚未发布。
【讨论】:
【参考方案9】:当我看到 MacPorts 还没有适用于 Mavericks 时,但现在可以了!
芬克仍然没有。
但是标准的 GDB 仍然不支持调试 .app 文件。
【讨论】:
【参考方案10】:运行这个来安装命令行工具:
xcode-select --install
【讨论】:
适用于 OS X 10.9 Mavericks 的 CLT 没有 GDB,这是 OP 试图解决的问题。【参考方案11】:命令行实用程序不包含在新的 Xcode 中,但您可以按照这些说明获取它。 (上面的 Xcode 选择注释对我不起作用。)
打开 Xcode
在应用程序菜单项“Xcode”中,选择Open Developer Tool → More Developer Tools...
这会将您带到一个包含大量软件的站点。继续下载并安装“Xcode 的命令行工具 (OS X Mavericks) - 2013 年 10 月下旬”。
(感谢 Jore https://discussions.apple.com/message/23513040#23513040)
【讨论】:
CLT 没有 10.9 的 GDB【参考方案12】:在虚拟机中安装带有 Xcode 4.6 的 Mac OS X v10.8 (Mountain Lion) 并获得乐趣 )))
我使用 VMware Fusion,但您可以免费试用 VirtualBox。您可以从 AppStore 获取旧版 MacOS,从 Apple 开发者网站获取旧版 Xcode。
【讨论】:
以上是关于OS X v10.9 (Mavericks) 中缺少 GDB的主要内容,如果未能解决你的问题,请参考以下文章
为啥 apt-get 功能在 Mac OS X v10.9 (Mavericks) 的终端中不起作用?
Aspell 不会在 OS X 10.9 (Mavericks) 上构建
OS X 10.9 Mavericks - 使用虚拟主机设置本地主机
在 migratePersistentStore: 到 OS X 10.9 Mavericks 上的另一个 URL 后访问 NSManagedObject 属性时崩溃