LLDB在iOS开发中相对于GDB有哪些优势?

21
在Xcode 4.3中,现在您可以启用使用LLDB作为iOS目标的调试器。

enter image description here

与使用老旧的GDB相比,它有哪些优势? GDB仍然可以与LLVM配合使用,我在“日常”调试任务中看不到任何明显差异。


是的,我也希望有比我的答案更不明显的答案。看起来所有美妙的LLDB功能都在引擎盖下面。 - iHunter
1个回答

11

最显著的优点是LLDB能够理解属性中的点语法:

po self.property


引用自LLVM项目博客

LLDB在Mac上支持基本的命令行调试场景,可编写脚本,并具有出色的多线程调试支持。相较于GDB,当调试大型程序时,LLDB已经快得多,并承诺提供更好的用户体验(特别是对于C ++程序员)。我们很兴奋地看到更广泛的LLVM社区对新平台、新功能和增强功能的兴趣。

另一则引文来自LLDB主页

LLDB是下一代高性能调试器。它作为一组可重复使用的组件构建,高度利用了更大的LLVM项目中现有库,如Clang表达式解析器和LLVM反汇编器。

为什么需要新的调试器
为了实现我们的目标,我们决定采用全新的架构,支持现代多线程程序,以有效的方式处理调试符号,使用基于编译器的代码知识,并具有插件支持功能和扩展。此外,我们希望调试器功能可用于其他分析工具,无论是脚本还是编译程序,都不需要它们遵循GPL。


lldb在更简单的命令输入方面仍有很长的路要走。要获得与gdb相同的结果仍需要非常强的打字能力,此外命令行没有自动补全功能。 - John Greene

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