我不是 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 邮件列表是一个很好的资源:
关于c++ - XCode 如何使用 LLDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205760/