LLDB 是 LLVM 项目旗下的新一代调试器,也是 Xcode 的默认调试引擎,支持 C、C++、Objective-C 与 Swift。它复用 Clang 的解析器精确理解表达式,可用 Python 脚本扩展,是 macOS 与 iOS 开发调试的核心工具。

| 类型 | 调试器 |
| 所属项目 | LLVM |
| 主要语言支持 | C / C++ / Objective-C / Swift |
| 默认集成 | Xcode |
| 许可证 | Apache 2.0(含 LLVM 例外) |
LLDB是 LLVM 项目中的高性能调试器,用于调试 C、C++、Objective-C 和 Swift 程序。它自 Xcode 5 起全面取代 GDB 成为苹果官方开发工具链的默认调试器,同时也可在 Linux、Windows 等平台使用。
LLDB 由苹果公司主导、在 LLVM 社区开源开发,目标是提供一个模块化、可嵌入、与编译器深度协同的现代调试器。与传统调试器自行实现表达式解析不同,LLDB 直接复用 Clang 的解析与代码生成能力,因此对最新 C++ 语法、模板与 Objective-C 特性有精确的理解。它既提供命令行界面,也作为调试引擎被 Xcode、VS Code(通过适配器)、CLion 等 IDE 集成。
LLDB 是 macOS 与 iOS 开发者日常调试的必备工具:在 Xcode 断点控制台输入的 po、p 命令即由其执行。系统与服务端开发者也用它调试 Linux 上的 C/C++ 程序、分析崩溃产生的核心转储;安全研究与逆向领域同样常用其脚本能力做自动化分析。
问:LLDB 和 GDB 命令不一样怎么办?答:两者理念相近但命令语法不同,LLDB 命令更结构化(如 breakpoint set --name main),官方提供了 GDB 到 LLDB 的常用命令对照表,多数操作都有对应形式。
问:po 和 p 有什么区别?答:p(expression)按类型打印表达式的值,po(print object)额外调用对象的描述方法,更适合查看 Objective-C 与 Swift 对象的可读描述。

| 类型 | 调试器 |
| 所属项目 | LLVM |
| 主要语言支持 | C / C++ / Objective-C / Swift |
| 默认集成 | Xcode |
| 许可证 | Apache 2.0(含 LLVM 例外) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧