2011-03-30 15 views
6

पर तोड़ नहीं रहा है मेरे ब्रेकपॉइंट्स ने नवीनतम एक्सकोड 4 रिलीज में ठीक से काम करना बंद कर दिया है। प्रोजेक्ट सेटिंग्स में कोई बदलाव नहीं होने के कारण, ब्रेकपॉइंट्स अब सेट की गई लाइन पर नहीं टूटते हैं।एक्सकोड 4 ब्रेकपॉइंट्स सही लाइन

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

एक और उदाहरण में, मैं एक समारोह में कहीं भी ब्रेकपॉइंट सेट कर सकता हूं और कोड उसी फ़ाइल में एक अलग फ़ंक्शन के बीच में एक रेखा पर टूट जाएगा! ब्रेक के बाद ट्रेसिंग से पता चलता है कि यह गलत जगह में टूट गया है और यह सिर्फ एक फ़ाइल/डीबगर सिंक समस्या नहीं है।

मुझे नहीं पता कि यह क्यों शुरू हुआ है। हालांकि पुराने लोगों ने काम किया, जबकि यह नए ब्रेकपॉइंट्स पर शुरू हुआ। किसी भी नए ब्रेकपॉइंट्स जो मैं गलत जगह में तोड़ता हूं। और हाल ही में, कुछ फाइलें अब भी तोड़ नहीं रही हैं! मैं केवल यह मान सकता हूं कि ब्रेकपॉइंट इतना गलत है कि इसे कोड में ले जाया गया है जिसे कॉल नहीं किया गया है। मैंने इस समस्या के लिए कई इंटरनेट खोज और फ़ोरम खोज की हैं, और हालांकि मुझे समान मुद्दों वाले लोगों को मिला है, फिर भी कोई समाधान या समाधान सूचीबद्ध नहीं था (डिवाइस को रिबूट करना, डीबग आउटपुट को स्वैप करना, अनुकूलन बंद करना आदि) काम नहीं किया है मेरे लिए।

यह उल्लेखनीय है कि मैं ज्यादातर .+ फ़ाइलों का उपयोग कर सी ++ में कोडिंग कर रहा हूं। एक्सकोड 3 में विकास के पिछले वर्ष के लिए, और पिछले कुछ महीनों में एक्सकोड 4 चीजें ठीक रही हैं! मैंने डीबग सही तरीके से स्थापित किया है। डीबग रन पर कोई ऑप्टिमाइज़ेशन नहीं, कोई मृत कोड स्ट्रिपिंग नहीं है और मैं डीएसवाईएम डीबग फ़ाइल के साथ डीडब्ल्यूएआर के साथ एलएलवीएम कंपाइलर 2.0 का उपयोग कर रहा हूं। हालांकि, इन मूल्यों को बदलने से कोई फर्क नहीं पड़ता।

कृपया मदद करें, यह मुझे पागल कर रहा है !!

इस पर एक अपडेट। यह एक ताजा शेर और एक्सकोड स्थापित के साथ एक ब्रांड नई मशीन पर फिर से शुरू हो रहा है। पूरा संपादक बेकार है। गलत लाइनों पर दिखाई देने वाली त्रुटियों के नीचे उदाहरण।

Errors on the wrong lines!

+0

थोड़ा और परीक्षण दिखाता है कि सभी फाइलें प्रभावित नहीं होती हैं, केवल फाइलें जिन्हें मैंने हाल ही में संपादित किया है। यह लगभग है जैसे कि ब्रेकपॉइंट्स उस फ़ाइल के पुराने संस्करण से लाइन नंबर का उपयोग कर रहे हैं, जिसे मैं संपादित कर रहा हूं। – MrMaxP

उत्तर

0

आप अपने लक्ष्यों को साफ किया है? Shift-Cmd-कश्मीर।

+0

हां। मैंने एक पूर्ण साफ किया है, मैं भी अंदर गया है और निर्माण निर्देशिका मैन्युअल रूप से हटा दिया है। मैंने एक साफ मशीन पर पूर्ण बल से भी कोशिश की, जिसका उपयोग पहले परियोजना बनाने के लिए नहीं किया गया था और यह अभी भी होता है! मैं अब विचार से बाहर चला रहा हूँ। मैं एक नई परियोजना बनाने और मैन्युअल रूप से सभी फ़ाइलों को फिर से जोड़ने की कोशिश करूंगा। यह निश्चित रूप से इसे ठीक करना होगा। – MrMaxP

+0

कौन सा * डीबगर * आप उपयोग कर रहे हैं? आपने एलएलवीएम कंपाइलर का उल्लेख किया है लेकिन क्या आप एलएलडीबी या जीडीबी का उपयोग कर रहे हैं? आप इस सेटिंग को अपनी सक्रिय योजना के रन एक्शन में पा सकते हैं। –

+0

मैं जीडीबी का उपयोग कर रहा हूं (मेरे पास एलएलडीबी विकल्प नहीं है) – MrMaxP

1

मैंने इसे ठीक कर दिया है, हालांकि मुझे मूल कारण नहीं मिला है।

मैंने उन फ़ाइलों के लिए प्रोजेक्ट से संदर्भ हटा दिए जो ब्रेकपॉइंट्स के साथ काम नहीं कर रहे थे। मैंने फिर एक पूर्ण साफ किया और फ़ोल्डरों में गया और किसी भी निर्माण और अस्थायी डेटा को हटा दिया। मैंने प्रोजेक्ट बंडल खोला और प्रोजेक्ट फ़ाइल को छोड़कर सभी डेटा हटा दिया। मैंने तब संकलित किया ताकि लापता फाइलों के कारण त्रुटियों को फेंक दिया। मैं फिर परियोजना में फाइलें डाल दिया।

अब, सटीक वही फ़ाइलें ब्रेकपॉइंट्स के साथ ठीक काम करती हैं!

कोई विचार नहीं, लेकिन यह ठीक क्यों है।

+0

मुझे एक ही समस्या का सामना करना पड़ रहा है। मैंने आपके द्वारा उल्लेखित एक ही कदम की कोशिश की, लेकिन यह मेरे लिए काम नहीं किया। :(कोई सुझाव? – iHS

+1

प्रभावित परियोजना के लिए "व्युत्पन्न डेटा" को हटाने के लिए ऑर्गनाइज़र (प्रोजेक्ट टैब) का उपयोग करना सबसे आसान फिक्स है। "साफ" यह नहीं करता है। –

0

एक्सकोड 4 में अपग्रेड करने के बाद यह मेरे साथ शुरू हो गया। मैंने बस सभी ब्रेकपॉइंट्स हटा दिए, एक साफ किया, फिर मेरे ब्रेकपॉइंट्स को फिर से जोड़ा। अभी ठीक काम करने लगता है।

3

जो मैंने चारों ओर पढ़ा है, उससे एक्सकोड ब्रेकपॉइंट्स के साथ उलझन में पड़ता है और सिंक समस्या से छुटकारा पाने का तरीका "व्युत्पन्न डेटा" को साफ़ करना है; इसे अभी तक साफ करने के दो तरीके मैंने पाया है (निर्देश Xcode 4 के लिए मान्य हैं।एक्स):

क), आयोजक में जाना परियोजनाओं के अंतर्गत, अपनी परियोजना के लिए चुनते हैं और कि व्युत्पन्न डाटा पर हटाएं दबाएं

या

ख) उत्पाद मेनू में जाना, एएलटी बटन दबाए रखें कीबोर्ड पर और देखें कि मेनू बदल रहा है ... इसलिए "क्लीन बिल्ड फ़ोल्डर ..."

+0

मुझे अभी भी समस्या है।: (आगे की जांच ने मुझे नेतृत्व किया जहां परियोजना स्रोत कोड की अंतराल गलत है; मैं समझा नहीं सकता कि क्यों कभी-कभी सामान्य कोड दर्ज करते समय, एंटर कुंजी सामान्य प्रविष्टि के रूप में कार्य नहीं करती है, लेकिन ' आर 'कुंजी और एक्सकोड की लाइन संख्या उलझन में आती है। यहां एक स्क्रीनशॉट है: [छवि से लिंक] (http://www.sthack.com/stackoverflow/xcode-bug.png) – VE2BXA

3

परियोजना लक्ष्य के तहत "बिल्ड सेटिंग्स" के साथ "डीबग" के लिए "अनुकूलन स्तर" को बदलें "से" कोई नहीं "।

मैंने पाया कि यह मेरे लिए मुद्दा तय करता है।

+1

यह मेरे लिए काम करता है। धन्यवाद। – Emmanuel

0

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

मुझे विश्वास है कि यह केवल सी या सी ++ कोड का उपयोग कर फाइलों के साथ होता है। ऐप्पल आईओएस पर सी ++ डेवलपर्स को अनदेखा कर रहा है। मुझे बहुत सारे पेशेवर गेम डेवलपर्स पता हैं और हर कोई गेम लिखने के लिए सी ++ का उपयोग करता है। ऐप्पल की समर्थन की कमी परेशान है।