2009-06-24 12 views
18

में चर देखकर मैं एक्सकोड के साथ एक चर देखने की कोशिश कर रहा हूं। मैं ब्रेकपॉइंट पर रुककर here में निर्देशों का पालन कर रहा हूं, रन> वैरिएबल व्यू> का चयन कर रहा हूं .... लेकिन "डेटा फॉर्मेटर्स सक्षम करें" के अपवाद के साथ बाकी के विकल्प सभी गले से बाहर हैं। कोई विचार?एक्सकोड

मैं एक्सकोड संस्करण 3.1.3 का उपयोग कर रहा हूं।

+1

एक बार जब आप ब्रेकपॉइंट मारते हैं तो आपको ब्रेकपॉइंट पर अपने माउस को घुमाने में सक्षम होना चाहिए और यह चर जानकारी दिखाएगा। – zpesk

+0

क्या आप वाकई ऑप्टिमाइज़ेशन बंद होने के साथ डीबग बिल्ड चला रहे हैं? – Dolphin

+0

मैंने रिलीज के बजाय डिबग बिल्ड की कोशिश की लेकिन समस्या बनी रहती है। – Stu

उत्तर

19

मुझे दुर्भाग्यवश, मेरे लिए काम करने के लिए रन मेनू से बनाए गए वॉचपॉइंट्स नहीं मिला है। एक बात यह जानना है कि जब एक चरणीय दायरे से बाहर हो जाता है, तो घड़ी बिंदु अमान्य हो सकता है।

यदि आपको थोड़ी अधिक गहराई से ध्यान नहीं दिया जाता है, तो आप स्मृति के पते के लिए घड़ी बिंदु सेट करने के लिए कुछ निम्न-स्तर gdb आदेशों का उपयोग कर सकते हैं। उदाहरण के लिए, आपके द्वारा लिंक की गई मार्गदर्शिका में, वे दिखाते हैं कि वेरिएबल path को कैसे देखें, जो 0xbfffeb70 मान के साथ एक सूचक है। मैन्युअल कि पते के लिए एक watchpoint सेट करने के लिए डिबगर कंसोल (जहां डिबगिंग आउटपुट छपा है) के बाद "(gdb)" प्रॉम्प्ट में क्लिक करें और कुछ इस तरह टाइप करें: गुप्त वाक्य रचना के लिए आवश्यक है

watch *((int*)0xbfffeb70) 

क्योंकि gdb सी अभिव्यक्ति के रूप में इनपुट की उम्मीद है। थोड़ी अधिक जानकारी के लिए, visit this link और शीर्षक वाले अनुभाग पर जाएं "हार्डवेयर वॉचपॉइंट्स का उपयोग करना"। (मैं एक इंटेल मशीन पर परीक्षण कर रहा हूं, यह सुनिश्चित नहीं करता कि पावरपीसी इसे कैसे संभालती है।) जब आप इस तरह वॉचपॉइंट्स सेट करते हैं, तो एक्सकोड आपको एक ड्रॉप-डाउन शीट से अलर्ट करेगा जब एक वॉचपॉइंट पहुंच जाएगा और आपको बताएगा कि मूल्य कैसे बदला गया था, और जीडीबी कंसोल में एक ही जानकारी मुद्रित करेगा।

+2

यदि आप सी ++ विधि के सदस्य को देखना चाहते हैं, तो मुझे यह संस्करण बेहद उपयोगी पाया गया: 'घड़ी-स्थान mTextFormatted'। स्थैतिक बनाम गतिशील कलाकार से संबंधित एक बुरा बग का खुलासा किया;) –

+2

एलएलडीबी विकल्प 'वॉचपॉइंट सेट एक्सप्रेशन - 0xbfffeb70' या' ws e-0xbfffeb70' छोटा होगा। –

7

मैं बस इस समस्या में भाग गया। यहां एक समाधान है: वैरिएबल नाम पर राइट क्लिक करें और दिखाई देने वाले मेनू से "विंडो में चर देखें" चुनें। यह नीचे के पास होना चाहिए।

2

यहां दिए गए उत्तर यहां दिए गए हैं यदि आप gdb कंपाइलर का उपयोग करते हैं।

यह जेट (lldb 3.1 के साथ XCode 4.3.2) काम नहीं कर रहा है, भले ही lldb डॉक्स का कहना है कि आप कर सकते हैं: आप में से जो लोग lldb संकलक के साथ एक watchpoint स्थापित करने के लिए एक विकल्प की तलाश कर रहे के लिए मैं बुरी खबर है।

this ईमेल देखें। lldb आदेशों gdb रों की तुलना में पाया जा सकता है here

+0

'वा एस ई - ' मेरे लिए काम किया, उदाहरण: 'वा एस ई - 0xbfffeb70' –

1

मैं XCode 5 में इस यह पता लगाने की कोशिश कर रहा था मैं अंत में पाया एक आउटपुट कंसोल के नीचे दाईं ओर "चर देखने" बटन। यह छोटा आयताकार है जो बाईं तरफ भूरे रंग के होंगे, दाईं ओर सफेद अगर यह सक्षम नहीं है। मुझे यकीन नहीं है कि यह एक्सकोड 3 में है, लेकिन मुझे उम्मीद है कि ज्यादातर लोगों ने वैसे भी अपग्रेड किया है।

2

ब्रेकपॉइंट जोड़ें। राइट डिबग क्षेत्र के दृश्य सूची में क्लिक करें और "अभिव्यक्ति जोड़ें ..."

enter image description here

आप एक अलग मेनू हो रही है, तो आप वर्तमान में हाइलाइट चर के बंद क्लिक करने के लिए इतना है कि कुछ भी नहीं है जब आप दायाँ क्लिक करते हैं तो हाइलाइट किया गया।