lldb类具有不兼容的超类

dud*_*man 17 xcode objective-c ios lldb

我突然变得无法在lldb中打印出对象属性或调用方法.唯一打印出来的是:

error: class '<ClassName>' has incompatible superclasses
note: inherits from superclass 'NSObject' here
Run Code Online (Sandbox Code Playgroud)

即使是最基本的对象类型也是如此,例如:NSArray,NSDictionary和NSString.这是一个具体的例子:

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

唯一可用的方法是NSObject中可用的方法,例如-class.从前一个示例扩展:

(lldb) po [functie class]
__NSCFString
Run Code Online (Sandbox Code Playgroud)

如果有人知道问题是什么,那么您的意见将非常感激.谢谢.

Liz*_* Hu 10

试试这个:

  1. 在左侧项目导航器中选择您的项目.

  2. 切换到Build Settings选项卡.

  3. 搜索Debug Information Format.

  4. Debug的值设置为DWARF.

  5. 清理构建文件夹:按住Option + Command + Shift + K(即? + ? + ? + K).

  6. 重建你的项目:? + R.

祝好运.

  • 这对我有用.然后我用dSYM切换回DWARF,做了另一个干净,问题没有回来.我怀疑当我今天早上在XCode 9 beta中打开项目时,我的项目文件有点搞砸了.多次被贝塔烧毁,但我显然还没有吸取教训.:-) (5认同)