2015-06-04 33 views
15

我突然无法打印出lldb中的对象属性或调用方法。打印出的唯一的事情是:lldb类具有不兼容的超类

error: class '<ClassName>' has incompatible superclasses 
note: inherits from superclass 'NSObject' here 

这是真实的,即使是最基本的对象类型,如:的NSArray,NSDictionary中,和的NSString。这里有一个具体的例子:

(lldb) po functie.length 
error: class 'NSString' has incompatible superclasses 
note: inherits from superclass 'NSObject' here 
error: 1 errors parsing expression 

唯一可用的方法是在NSObject中可用的方法,如-class。从前面的例子延伸:

(lldb) po [functie class] 
__NSCFString 

如果任何人有任何想法是什么问题,您的输入将不胜感激。谢谢。

+0

是您的构建配置调试还是发布?我有这样奇怪的错误,因为我在发布。 – NobodyNada

+0

它是调试。我一定要检查。 – dudeman

+0

您是否清洁和重建?你在其他项目中有这个问题吗? – NobodyNada

回答

6

试试这个:

  1. 选择左侧项目导航项目。

  2. 切换到Build Settings选项卡。

  3. 搜索Debug Information Format

  4. 设置值为调试DWARF

  5. Clean Build Folder:保存Option + Command + Shift + K(即⌥ + ⌘ + ⇧ + K)。

  6. 重建项目:⌘ + R

祝你好运。

+3

这对我有用。然后我用dSYM切换回DWARF,做了另一次清理,问题没有回来。我怀疑当我今天早上在XCode 9测试版中打开项目时,我的项目文件有点混乱。贝塔斯几次烧毁,但我显然还没有吸取教训。 :-) – dlw

+0

同样的情况。这可能是由Xcode beta引起的。 –