我使用Xcode4.3.1的C++11语言方言和libc++作为标准库。这种组合中的语言支持令人惊叹,但调试却是一种折磨。Xcode的“摘要格式”和lldb的摘要格式特性都不显示任何标准类型(std::string、std::vector等)。有漂亮的印刷品。由于它们的复杂性,为这些类型编写一个漂亮的打印机是非常重要的。(例如,std::string在libc++中非常复杂。)
在这种情况下,其他开发人员是如何为STL类型获得像样的可变显示的呢?或者还没有其他人将libc++与Xcode/lldb一起使用?
发布于 2012-07-29 22:34:06
此功能在Xcode 4.4中可以正常工作。对于Xcode 4.3用户来说,最好的解决方案就是简单地更新Xcode。
发布于 2012-07-27 19:51:51
W在lldb存储库中有支持。这是我所做的:
svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb(我得到了160855版)在Xcode的lldb shell中,你可以这样做:
command script import /Users/arne/oss/lldb/examples/synthetic/libcxx.py之后,lldb将std::vector、std::map、std::string和std::map更好地格式化:
(lldb) p rv
(std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >) $3 = size=2 {
(unsigned long) [0] = 503
(unsigned long) [1] = 503
}我已经用Xcode4.4测试过了。应该与Xcode 4.3的工作方式类似
您可以将该命令放在.lldbinit初始化文件中。然后,即使是Xcode也会很好地显示结构。
https://stackoverflow.com/questions/10214477
复制相似问题