1

XCode 自带 LLDB,想必有办法让它作为调试器在调试 XCode 项目时使用。

当然,作为一名 Linux 用户,我已经成为了一个铁杆命令行狂热者,并且我拥有完善的 Vim 和 Tmux 工作流程。作为一个代码可移植狂,我 100% 的脚本都可以在 OS X 和 Linux 上运行。

那么是否有某种方法可以从 XCode 的内部深处“拉出”LLDB 并从命令行运行它?按照说明自行编译有什么好处?

我猜从源代码构建的通常原因也适用于这里:我们可以通过重建它来获得最新的前沿特性和错误修复。它只是更好。等等。如何检查特定 LLDB 实例使用的 clang 版本?我确实使用 XCode 项目编译了它(按照这些说明),并version报告:

steven@new-host-3:~/Library/Developer/Xcode/DerivedData/lldb-bvjmzslapfdmdmabqocfcogrlbfc/Build/Products/Debug Wed 3 20:37 10137
% ./lldb
(lldb) version
lldb-300.99.0

答案不会直接帮助我,因为我已经知道如何从源代码构建整个东西,但是对于那些正在考虑放弃 GDB(并且实际上打算从命令行进行调试)的 Mac 的其他人来说,也许有一条捷径(我跳过了)!

我猜这个最前沿的 svn-sourced 手动编译的 LLDB 和 Apple 用 XCode 和 XCode CLT 打包的 LLDB 之间仍然存在显着差异。

4

2 回答 2

2

使用 Xcode 4.6 的 Mac OS X 上的约定是,您要么安装 CommandLineTools 包(它将东西安装在/usr/binetc 中),要么在命令前加上xcrun. xcrun lldb, xcrun clang, 等等。大多数 Xcode 用户不使用命令行工具,所以这种安排运作良好。如果您只从http://developer.apple.com/进行命令行开发,我相信您可以单独下载 CommandLineTools 包(我认为需要 Apple ID 才能访问 - 我认为免费帐户就足够了获取 CommandLineTools 包),这意味着您只需下载 128MB 即可获得完整的命令行工具。

将所有东西都放在规范主页的变化/Applications/Xcode.app是一个相对较新的变化,推动这一变化的目标是使开发人员工具可重定位。如果您从 Mac App Store 下载它,它将安装/Applications/Xcode.app,但它不需要在那里。您可以在单个系统上安装工具的多个版本 - 例如,有权访问 Xcode 5 Developer Previews 的人会看到它安装在单独的位置,因此 Xcode 4.6 工具仍然存在于系统上。命令行xcode-select程序可用于指定Xcode.app应调用哪组工具xcrun clang等。

顺便说一句,对于从终端构建更舒适的人们来说,这是一个有用的快捷方式:如果你正在构建 lldb,你可以这样做xcodebuild -configuration Debug,它会Debug为你构建配置,不需要 Xcode UI。

于 2013-07-04T07:51:45.887 回答
0

也许我在这里走的是风景优美的路线。

% /Applications/Xcode.app/Contents/Developer/usr/bin/lldb
(lldb) version
LLDB-179.6
(lldb)

这可能足以完成工作。

不幸的是,Xcode CLT 和 Xcode 本身带有类似的工具,这是对磁盘空间的浪费。

请参阅此处的姐妹问题

于 2013-07-04T00:18:29.117 回答