c++ - XCode 如何使用 LLDB?

标签 c++ xcode lldb

我不是 XCode 用户,但我想知道 XCode 是通过它的解释器使用 LLDB,还是使用共享库 lldb.so。

你能用 lldb.so 做什么?它里面有所有的调试器功能吗?那么可以做一个内部有调试功能,不需要调用外部命令的IDE吗?

我打算制作一个 C++ IDE。

最佳答案

lldb 有一个定义良好的 C++ 公共(public) API - SB(用于脚本桥)API。这个名字实际上只描述了它们一半的用法。它们是我们提供给 SWIG 以向 lldb 提供 Python 接口(interface)的 C++ API。但它们也旨在按原样使用,这实际上就是 Xcode 使用 lldb 的方式。

有关更多详细信息,请参阅:

http://lldb.llvm.org/cpp_reference/html/annotated.html

这只是提供了所提供类的概要。 C++ API 没有任何“如何使用”文档,但请注意,它们反射(reflect)了 Python API,因此您可以通过尝试使用 Python API 并查看 Python 教程和lldb 站点上的示例。

SB 类是内部 LLDB 对象的薄包装器,使用一种或其他形式的不透明指针,因此它们对内部对象的更改具有鲁棒性。我们不会删除 API。

请注意,Mac 上还有其他几个 IDE 以这种方式使用 lldb,因此您不会孤单...

如果您想了解更多,lldb-dev 邮件列表是一个很好的资源:

http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

关于c++ - XCode 如何使用 LLDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205760/

相关文章:

c++ - 为 Linux C++ 构建创建一个干净的隔离编译环境

xcode - 什么是目标依赖?

iOS 在以编程方式实现自动布局时获取 NSInvalidArgumentException

visual-studio-code - 如何将参数传递给 VSCode launch.json 文件中为 lldb 指定的可执行文件?

c++ - 创建双向链表节点的深层拷贝

C++ 模板将某种类型的成员添加到类中

c++ - Qt5 duplicate(拷贝)一个可执行文件

ios - C 风格的 for 语句已弃用,将来会被删除

xcode - 无法调试嵌入在 Objective-C 应用程序中的 Swift 模块/框架

iphone - 获取有关 LLDB 中错误内存地址的信息