我怎样才能在Xcode 4.3.1使用的libc ++当得到合理的变量显示?(How can I g

2019-09-16 15:26发布

我使用的Xcode 4.3.1的C ++语言11与方言的libc ++的标准库一起。 这一组合中的语言支持是惊人的,但调试是折磨。 既不Xcode的“摘要格式”也不LLDB的总结格式特征显示任何标准类型(的std :: string,性病::矢量等),漂亮的印刷。 写这些类型的一个漂亮的打印机是非常不平凡的,由于其复杂性。 (例如,的std :: string是libc中非常复杂++。)

世界如何其他开发商获得体面的变量显示为STL类型在这种情况呢? 或正在使用的libc ++和Xcode / LLDB又没有其他人?

Answer 1:

w ^ ELL有在LLDB储存库支持。 这是我做的:

svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb

(我得到了修订160855)在Xcode中的LLDB壳可以做比:

command script import  /Users/arne/oss/lldb/examples/synthetic/libcxx.py

之后LLDB格式的std ::载体,性病::地图,的std :: string和std ::地图更漂亮:

(lldb) p rv
(std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >) $3 = size=2 {
  (unsigned long) [0] = 503
  (unsigned long) [1] = 503
}

我已经和Xcode 4.4测试这一点。 应工作和Xcode 4.3相似

您可以在.lldbinit init文件把命令。 即使Xcode中会再次出现格式良好的结构。



Answer 2:

此功能正常工作在Xcode 4.4。 为Xcode的4.3用户最好的解决办法是简单地更新Xcode的。



文章来源: How can I get sensible variable displays when using libc++ in Xcode 4.3.1?