2012-12-23 33 views
20

पर ऑब्जेक्ट नहीं मिला है मैं lldb का उपयोग करके अपने आईओएस ऐप को डीबग करने की कोशिश कर रहा हूं और मुझे डीबग पर वास्तव में अजीब त्रुटियां मिल रही हैं।lldb त्रुटि: प्रकार

मेरी ब्रेकप्वाइंट से पहले कुछ लाइनों, मुझे मिल गया है:

CGRect frame = view.frame;

कौन सा मैं lldb में print frame कमांड के साथ कोई समस्या नहीं के साथ उपयोग कर सकते हैं। हालांकि, जब मैं lldb में फिर से फ्रेम तक पहुँचने का प्रयास, मैं print view.frame टाइप करें और निम्न त्रुटि मिलती है:

error: property 'frame' not found on object of type 'UIView *'

यह मतलब नहीं है के रूप में मैं view सत्यापित कर सकते हैं एक UIView* उदाहरण है और एक है फ्रेम कहा वैध संपत्ति po view टाइपिंग और सही परिणाम प्राप्त होने के द्वारा:

(UIView *) $4 = 0x1e199bf0 <MyAppCustomView: 0x1e199bf0; frame = (3398 3396; 204 208); layer = <CALayer: 0x1e199ce0>>

यह विशेष रूप से lldb त्रुटि मुझे के लिए बहुत कुछ होता है, और मैं कर सकता इस त्रुटि का कारण नहीं मिला। किसी ने Property 'count' not found on object of type 'NSMutableArray *' PO command in lldb पर सुझाव दिया है कि कोई भी (gdb) p view.frame के रूप में gdb का उपयोग कर सकता है लेकिन मुझे error: '(gdb)' is not a valid command. मिल रहा है और मुझे अत्यधिक संदेह है कि एक gdb कमांड "काम करेगा?" वैसे भी एक और डीबगर के अंदर।

इस बग के लिए कोई सुझाव या कामकाज यादृच्छिक रूप से होता है?

+0

प्रिंट [दृश्य फ्रेम] –

+0

पहले से ही करने की कोशिश की: त्रुटि: कोई ज्ञात विधि 'फ्रेम'; संदेश को विधि के रिटर्न प्रकार –

+0

प्रिंट [(UIView *) दृश्य फ्रेम पर भेज दें] –

उत्तर

50

संदेश भेजने के लिए डॉट नोटेशन lldb में समर्थित नहीं है। ब्रैकेट अंकन का प्रयोग करें और CGRect लिए परिणाम डाली:

p (CGRect)[view frame] 
+0

(एलएलडीबी) पी [दृश्य फ्रेम] त्रुटि: कोई ज्ञात विधि '-फ्रेम' नहीं है; इस संदेश को संपादित करने के बाद संदेश को विधि के रिटर्न प्रकार –

+0

पर भेजें। किसी भी कारण से मुझे स्पष्ट रूप से इसे क्यों डालना चाहिए? और किसी भी विचार से कभी-कभी ऐसा क्यों होता है, और अन्यथा, एलएलडीबी सिर्फ किसी भी जानवर के बिना पीओ/प्रिंट के साथ निर्दोष काम कर रहा है? –

+3

@ canpoyrazoğlu क्योंकि जब एलएलडीबी रनटाइम से पूछताछ करता है, तो यह उन गैर-ऑब्जेक्ट्स के प्रकारों से अवगत नहीं है जिन्हें आप प्रिंट करना चाहते हैं, कास्टिंग इसे एक वादा किया गया प्रकार देता है। – CodaFi

3

बस के मामले में ऊपर काम नहीं करता है (जो ऐसा नहीं है मेरे लिए, एक चर सेल, वर्ग UITableViewCell से प्राप्त के लिए फ्रेम की तलाश में): अतिरिक्त कोष्ठकों के लिए मजबूर कर lldb के छोटे से छोटा गीत मस्तिष्क मदद करने के लिए लग रहा था:

p ((CGRect)[cell frame]) 

Presto Magico:

(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44) 
+0

यह उत्तर स्वीकार्य उत्तर होना चाहिए क्योंकि एलएलडीबी अभी भी बाहरी कोष्ठक के बिना शिकायत करता है। – inix