2015-06-04 67 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引起的。 –