我不是XCode用户,但我想知道XCode是否通过它的解释器使用LLDB,或者它是否使用共享库lldb.so.
你能用lldb.so做什么?它内部是否具有所有调试器功能?那么你可以创建一个内部具有调试功能但不需要调用外部命令的IDE吗?
我打算制作一个C ++ IDE。
答案 0 :(得分:4)
lldb有一个定义良好的C ++公共API - SB(用于脚本桥)API。该名称实际上只描述了其使用量的一半。它们是我们提供给SWIG的C ++ API,为lldb提供Python接口。但它们也可以按原样使用,这实际上就是Xcode如何使用lldb。
有关详细信息,请参阅:
http://lldb.llvm.org/cpp_reference/html/annotated.html
这只是概述了所提供的类。没有任何"如何使用" C ++ API的文档,但请注意它们反映了Python API,因此您可以通过使用Python API和查看Python来轻松学习如何使用C ++ API。 lldb网站上的教程和示例。
SB类是使用一种形式或其他形式的不透明指针围绕内部LLDB对象的薄包装器,以便它们对内部对象的更改具有鲁棒性。我们不会删除API。
请注意,Mac上还有其他几个以这种方式使用lldb的IDE,所以你不会孤单......
如果您想了解更多信息,lldb-dev邮件列表是一个很好的资源: