我做錯了什麼。我添加了一個表達式,我可以在Debug區域看到帶有「E」符號的表達式,但表達式並沒有被評估,它的值也沒有顯示出來(它在那個時間範圍內)。Xcode中的表達式4.3.2調試區域未評估
當我直接使用調試器(lldb)時,它運行良好。
的Xcode 4.3.2。
我該怎麼辦?
謝謝
我做錯了什麼。我添加了一個表達式,我可以在Debug區域看到帶有「E」符號的表達式,但表達式並沒有被評估,它的值也沒有顯示出來(它在那個時間範圍內)。Xcode中的表達式4.3.2調試區域未評估
當我直接使用調試器(lldb)時,它運行良好。
的Xcode 4.3.2。
我該怎麼辦?
謝謝
您正在嘗試評估布爾值並將其作爲對象進行打印。
您想要使用print [self isEditing]
或print (BOOL)[self isEditing]
,這取決於調試器是否抱怨它不知道該成員的類型。
po
命令會打印一個對象描述,而不是任意值,只應在右側表達式的結果爲對象(如po self
)時使用。
在表達式編輯器中發生同樣的問題。如果使用表達式[self isEditing]
,調試器將無法理解它。但是,如果您使用(BOOL)[self isEditing]
,它將正確顯示。
嘗試添加不帶方括號的表達式self.isEditing
。在這裏工作
我仍然必須指定(看起來像鑄造)表達式結果類型爲Gaige寫道。它在GUI上運行良好。 –
我很高興看到命令行調試器的結果。我希望看到在GUI中評估的表達式。如果在Xcode GUI中添加表達式時鍵入「print [self isEditing]」,它仍會精確顯示此字符串,無論如何它都不會被評估。 –
對不起,我沒有直接說明,但它是同樣的問題。你需要在表達式中使用「(BOOL)[self isEditing]」,而不是「[self isEditing]」。嘗試添加一個像這樣的新表達式。我會更新我的答案。 – gaige
完美,謝謝gaige!當我明確地說出表達結果類型時,它對所有這些類型都正常工作。 BOOLs,NSString * s,整數,... –