获取Xcode 5变量检查器以显示自定义摘要和/或合成子项

时间:2014-03-05 21:59:43

标签: xcode lldb

我有一些来自库的具有不透明数据类型的C ++类。 Xcode不理解它们,因此无法在变量检查器中显示它们。我为lldb编写了Python脚本,它可以正确分解这些不透明类型并返回合成子类。我有一个Python类OpaqVector_syntheticChildren,它实现了get_child_at_index(),num_children()等等。

例如,在程序在Xcode的断点处暂停时,在lldb提示符下:     (lldb)帧变量sarr     (OpaqueVector)sarr = {       [0] = 1       [1] = 2       [2] = 3     }

然而,在变量检查器中,sarr显示粉红色的'S'以显示它是一个结构,并且没有摘要或扩展箭头。我可以右键单击并选择“打印描述”sarr“'并在lldb控制台中获取正确的(上面匹配的)输出。是否有一些额外的技巧让Xcode本身显示结构的合成儿童?

1 个答案:

答案 0 :(得分:0)

Xcode调用您提供的类的has_children()方法来生成合成子代。如果该函数未返回True,则不会调用num_children()或get_child_at_index(),而lldb命令提示符似乎不会执行该检查。因此,如果您在该函数中有错误,您将获得我在问题中描述的行为。