【发布时间】:2014-10-02 01:36:24
【问题描述】:
我不是 XCode 用户,但我想知道 XCode 是通过其解释器使用 LLDB 还是使用共享库 lldb.so。
你可以用 lldb.so 做什么?它内部是否具有所有调试器功能?那么你可以制作一个内部具有调试能力的IDE,并且不需要调用外部命令?
我打算制作一个 C++ IDE。
【问题讨论】:
我不是 XCode 用户,但我想知道 XCode 是通过其解释器使用 LLDB 还是使用共享库 lldb.so。
你可以用 lldb.so 做什么?它内部是否具有所有调试器功能?那么你可以制作一个内部具有调试能力的IDE,并且不需要调用外部命令?
我打算制作一个 C++ IDE。
【问题讨论】:
lldb 有一个定义良好的 C++ 公共 API - SB(用于 Script Bridge)API。这个名字实际上只描述了它们的一半用法。它们是我们提供给 SWIG 的 C++ API,用于为 lldb 提供 Python 接口。但它们也打算按原样使用,这实际上是 Xcode 使用 lldb 的方式。
更多详情请见:
http://lldb.llvm.org/cpp_reference/html/annotated.html
这只是给出了所提供类的概要。没有任何关于 C++ API 的“如何使用”文档,但请注意,它们反映了 Python API,因此您可以通过使用 Python API 轻松学习如何使用 C++ API,并查看 Python 教程和lldb 网站上的示例。
SB 类是内部 LLDB 对象的瘦包装器,使用一种或其他形式的不透明指针,因此它们对内部对象的更改具有鲁棒性。我们不会删除 API。
注意,Mac 上还有其他几个使用 lldb 的 IDE,所以你不会孤单......
如果您想了解更多信息,lldb-dev 邮件列表是一个很好的资源:
【讨论】: