在 Xcode 4.3 中,现在您可以启用使用 LLDB 作为 iOS 目标的调试器。
与使用良好的旧 GDB 相比,它有什么优势?GDB 仍然适用于 LLVM,我看不出在“日常”调试任务中有任何明显差异。
最显着的优势是 LLDB 理解属性中的点语法:
po self.property
来自LLVM 项目博客的引述:
LLDB 支持 Mac 上的基本命令行调试场景,可编写脚本,并且对多线程调试有很好的支持。在调试大型程序时,LLDB 已经比 GDB 快得多,并且有望提供更好的用户体验(尤其是对于 C++ 程序员)。我们很高兴看到更广泛的 LLVM 社区感兴趣的新平台、新功能和增强功能。
来自LLDB 主页的另一句话:
LLDB 是下一代高性能调试器。它是作为一组可重用的组件构建的,这些组件高度利用了较大的 LLVM 项目中的现有库,例如 Clang 表达式解析器和 LLVM 反汇编器。
为什么要使用新的调试器
为了实现我们的目标,我们决定从支持现代多线程程序的新架构开始,以有效的方式处理调试符号,使用基于编译器的代码知识,并为功能和扩展提供插件支持. 此外,我们希望调试器功能可用于其他分析工具,无论是脚本还是编译程序,而不需要它们是 GPL。