मेरे ब्रेकप्वाइंट काम क्यों नहीं कर रहे हैं?


112

मेरे पास ब्रेकपॉइंट सेट हैं लेकिन Xcode उन्हें नज़रअंदाज़ करता है।


2
उत्पादक्लीन ने मेरी मदद की
अलेक्जेंडर बेकर्ट


मुझे उन्हें फिर से काम करने के लिए अपने कंप्यूटर के साथ पूर्ण पुनरारंभ करना पड़ा, और अब वे सुपर छोटी गाड़ी हो रहे हैं। मैं xcode 10.2.1 का उपयोग कर रहा हूं।
१18 में

2
Xcode 11, रिस्टार्ट और क्लीन करें Xcode काम नहीं कर रहा है, Restart Mac काम नहीं कर रहा है। डिवाइस पर एप्लिकेशन हटाएं और इस समस्या को ठीक करता है। उम्मीद है कि यह किसी की मदद करेगा
रान्डेल वांग

जवाबों:


148

सबसे पहले, मैं 100% सहमत हूं कि पहले के लोगों ने कहा कि बंद करें Load Symbols Lazily

मेरे पास जोड़ने के लिए दो और चीजें हैं।

(मेरा पहला सुझाव स्पष्ट लगता है, लेकिन पहली बार किसी ने मुझे यह सुझाव दिया, मेरी प्रतिक्रिया इन पंक्तियों के साथ गई: "चलो, कृपया, आप वास्तव में सोचते हैं कि मैं बेहतर नहीं जानता ...... ओह।"

  1. सुनिश्चित करें कि आपने गलती से "सक्रिय बिल्ड कॉन्फ़िगरेशन" को "रिलीज़" पर सेट नहीं किया है।

  2. अपनी परियोजना के चित्रमय वृक्ष प्रदर्शन में "लक्ष्य" के तहत, अपने लक्ष्य पर राइट क्लिक करें और "जानकारी प्राप्त करें।" "Generate Debug Symbols" (या समान) नाम की प्रॉपर्टी देखें और सुनिश्चित करें कि यह CHECKED (उर्फ ON) है। इसके अलावा, आप खोज (टारगेट >> गेट इंफो) में "डिबग इन्फॉर्मेशन फॉर्मेट" नामक एक संपत्ति और इसे "dsym फाइल के साथ बौना" करने की कोशिश कर सकते हैं।

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


8
XCode 4.5.2 पर मेरे पास यह मुद्दा था और यह इसलिए निकला क्योंकि मैंने "लिंक-टाइम ऑप्टिमाइज़ेशन" को सक्षम किया था, इसलिए यह जांचने की एक और बात है
16

6
बिल्ड कॉन्फ़िगरेशन को बदलने के लिए, उत्पाद -> योजना -> संपादित करें योजना, रन - जानकारी के तहत जाएं। मेरे लिए जो काम किया गया था वह उस मेनू में "डिबग एक्ज़ीक्यूटेबल" की जाँच कर रहा था।
जेफरी सन

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

2
यह अनजाने में activationY के साथ अनजाने ब्रेकपॉइंट सक्रियण को सुपर आसान है। तो बच्चों के लिए बाहर देखो।
dsgrnt

1
मैंने पॉइंट नंबर 1 की कोशिश की और यह मेरे लिए काम कर गया। वास्तव में मेरी मदद की। Upvoted।
NSPratik

49

Xcode 7 में, मेरे लिए क्या काम किया गया था:

1) सुनिश्चित करें कि लक्ष्य -> ​​स्कीम -> रन - डिबग मोड में है (जारी किया गया था)

2) नीचे दिए गए विकल्प "डिबग एक्जीक्यूटेबल" को देखना सुनिश्चित करें:

यहां छवि विवरण दर्ज करें


4
मेरे साथ ठीक ऐसा ही हुआ, चेकबॉक्स अनियंत्रित हो गया
अनूप

मेरे लिए भी यही मुद्दा है। क्या वह विकल्प डिफ़ॉल्ट रूप से सक्षम नहीं होना चाहिए (XCode 8.3)? क्या हम सभी देव नहीं हैं, वैसे भी डिबग करने को तैयार हैं?
dgmz

मेरे लिए Xcode 9.3 में काम किया, यदि आप विकल्प 1 के लिए एक और छवि प्रदान करते हैं तो यह बहुत अच्छा होगा।
काजी अब्दुल्ला अल मामुन

24

Xcode डिबगिंग वरीयताओं पर जाएं। सुनिश्चित करें कि "लोड सिंबल lazily" चयनित नहीं है।


7
दुर्भाग्य से Xcode 6 में कोई "डिबगिंग" प्राथमिकताएं नहीं हैं, और "लेज़ीली" प्रलेखन में दिखाई नहीं देता है। आह।
ऑस्कर

1
ठीक है, अब मुझे XCode 6
RNA

14

मैं सिर्फ इसी मुद्दे (फिर से) कर रहा था। ट्रिपल-चेक "लोड प्रतीकों लेज़ीली" और स्ट्रिपिंग और डीबग इन्फो जनरेशन फ्लैग के बाद, मैंने निम्न कार्य किया:

  1. Xcode छोड़ दिया
  2. प्रोजेक्ट निर्देशिका के लिए एक टर्मिनल विंडो और सीडी खोलें
  3. सीडी .xcodeproj निर्देशिका में
  4. .pbxproj फ़ाइल को छोड़कर सब कुछ हटा दें (मेरे पास frank.mode1v3 और frank.pbxuser था)

आप खोजक में एक ही कार्य को .xcodeproj बंडल पर राइट-क्लिक करके या "शो पैकेज सामग्री" चुनकर पूरा कर सकते हैं।

जब मैंने Xcode को फिर से शुरू किया, तो मेरी सभी विंडो डिफॉल्ट पोजिशन आदि के लिए रीसेट हो गईं, लेकिन ब्रेकप्वाइंट ने काम किया!


2
यह काम करता है, लेकिन यह आपकी सभी प्राथमिकताओं को हटा देता है ... ऐसा तब किया जाना चाहिए जब कुछ और काम न किया हो।
रेमी डोलगहे

मेरे लिए काम किया, धन्यवाद। मुझे आश्चर्य है कि Xcode इतना क्यों चूसता है। Xcode Apple द्वारा लिखा गया अब तक का सबसे खराब सॉफ्टवेयर है।
डक

वाह, 5 साल की उम्र है। यह विश्वास करना मुश्किल है कि यह अभी भी काम करता है, और यह अभी भी एक मुद्दा है!
फ्रैंक सजगुटा

मेरे लिए काम नहीं किया। मैं Xcode 6.01 चला रहा हूं। अब जब मैं निर्माण करता हूं, तो मुझे कई लापता फ़ाइल त्रुटियां प्राप्त होती हैं। मैं अपने कोड को हल करने के लिए पुनः प्राप्त कर रहा हूं।
Native_Mobile_Arch_Dev

केवल एक्सकोड को फिर से शुरू करना था, मेरा मामला गेट वर्जनिंग के कारण था, जब एक्सकोड यूजर इंटरफेस राज्य डेटा को शुरू कर रहा था।
जुआन बोइरो

13

Xcode 4.x के लिए: गोटो प्रोडक्ट> डीबग वर्कफ़्लो और "डिबगिंग कब डिबगिंग दिखाएं" को अनचेक करें।

Xcode 5.x गोटो डिबग के लिए> डीबग वर्कफ़्लो और "डिसबगिंग व्हेन डिबगिंग" को अनचेक करें।


11

कोई दूसरा कारण

DeploymentPostprocessingBuildSettings में NO पर सेट करें - यहां विवरण

संक्षेप में -

इस सेटिंग को सक्रिय करना इंगित करता है कि बायनेरिज़ को छीन लिया जाना चाहिए और फ़ाइल मोड, स्वामी और समूह की जानकारी मानक मानों पर सेट की जानी चाहिए। [DEPLOYMENT_POSTPROCESSING]

यहां छवि विवरण दर्ज करें


XCode 7 को अपडेट करने के बाद, यह सेटिंग किसी तरह YESकेवल मेरी थी subprojectऔर फिर ब्रेकप्वाइंट में काम नहीं किया subprojects। और NOयह स्थापित करने के बाद , यह एकदम सही था!
महेश्वरन रविशंकर

इस परियोजना की सफाई के बाद ही मेरे लिए काम किया गया था इसलिए एक पूर्ण पुनर्निर्माण होगा।
रान

8

इस पोस्ट को देखें: एक्सकोड में ब्रेकप्वाइंट काम नहीं कर रहा है? । आप "डिबग" के बजाय "रन" पर जोर दे सकते हैं जिस स्थिति में आपका प्रोग्राम जीडीबी की मदद से नहीं चल रहा है, जिस स्थिति में आप ब्रेकपॉइंट के काम करने की उम्मीद नहीं कर सकते हैं!


Xcode 6.4 में, अब केवल एक रन बटन है और क्या यह डिबग कॉन्फ़िगरेशन चलाता है या नहीं यह वर्तमान में चयनित योजना सेटिंग्स पर निर्भर करता है।
user2067021

6

इसके लिए संभावित समाधानों में से एक हो सकता है .... उत्पाद पर जाएं> योजना> संपादित करें योजना> .. रन के तहत> जानकारी> निष्पादन योग्य चेक "डिबग निष्पादन योग्य"।


2 दिनों तक मेरे सिर को पीटने के बाद इसने मेरे लिए काम किया।
दिलीप पर्ला

खुशी हुई कि इससे मदद मिली।
सोरोप्रोमो

5

यह मुझे आधे निराशाजनक दिन के लिए Xcode 9 में था। यह एक साधारण डिबग सेटिंग हो गया।

डीबग करें> डीबग वर्कफ़्लो पर जाएं और सुनिश्चित करें कि 'ऑलवेज शो डिसएस्पेश' बंद है। इतना ही आसान। :(


यह मेरे लिए काम करता है, धन्यवाद
Md.Harish-Uz-Jaman मृधा राजू

5

XCode 9.4.1 के साथ मेरे लिए समाधान (किसी भी बिंदु पर बंद नहीं हुआ):

अंडर टारगेट -> बिल्ड सेटिंग्स -> ऑप्टिमाइज़ेशन लेवल: "ऑप्टिमाइज़ फॉर स्पीड" -> "नो ऑप्टिमाइज़ेशन" से स्विच किया गया (अब यह धीमा है लेकिन काम करता है)


5

मेरे मामले में इसे हल करना काफी सरल था, एक्सकोड में - उत्पाद - क्लीन बिल्ड फोल्डर इसके बाद उत्पाद - रन (प्ले एक्सकोड नहीं)।

(Xcode 11 बटन लंबे प्रेस के साथ इकाई परीक्षण पर स्विच करने के बाद Xcode 11 -beta 4 पर समस्या थी)


4

इस समस्या के साथ इस पृष्ठ पर आया (Xcode 6 में सी कोड ब्रेकपॉइंट पर नहीं रुक रहा है) और ऊपर दिए गए समाधानों में से कोई भी काम नहीं किया गया (परियोजना व्यावहारिक रूप से बॉक्स से बाहर, सेटिंग्स-वार, इसलिए किसी भी डीबगर सेटिंग्स के लिए बहुत कम मौका है) गलत मान पर सेट हो) ...

समस्या को कम करने में काफी समय बर्बाद करने के बाद, मैंने आखिरकार अपराधी को (मेरे कोड के लिए) समझ लिया:

Xcode (/ LLVM) बाइसन-स्टाइल #lineप्रीप्रोसेसर कमांड को पसंद नहीं करता है ।

उन्हें हटाने से समस्या ठीक हो गई (डिबगर मेरे ब्रेकपॉइंट पर रुक गया)।


4

Xcode 4 के लिए:

go Product -> Debug ->  Activate Breakpoints

धन्यवाद! इससे मदद मिली। मैं इसे खुद पोस्ट करने जा रहा था, जाहिर है मैंने गलती से किसी तरह thisY धक्का दिया।
ओवी

2

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

यह भी लगता है जैसे कि Xcode केवल ब्रेकपॉइंट ऑपरेशन को सही तरीके से हैंडल करता है यदि आप ब्रेकपॉइंट पर कार्य करते हैं, तो आप उस प्रोजेक्ट में हैं जिसमें स्रोत लाइन ब्रेकपॉइंट है।

यदि मैं किसी अन्य प्रोजेक्ट के माध्यम से ब्रेकप्वाइंट को हटाने या अक्षम करने का प्रयास करता हूं, तो कार्रवाई कभी-कभी प्रभावी नहीं होती है, भले ही डिबगर यह इंगित करता है कि यह है। तो मैं खुद को विकलांग ब्रेकपॉइंट्स पर ब्रेकिंग, या एक (अब अदृश्य) ब्रेकपॉइंट पर पाऊंगा जो मैंने पहले हटा दिया था।


2

मैंने अपने ब्रेकप्वाइंट काम नहीं किए हैं और फिर उन्हें फिर से काम करने के लिए बिल्ड / क्लीन सभी लक्ष्य बनाए हैं।


2

मुझे लगता है कि डिवाइस संस्करण और Xcode के बीच समस्या असंगत हो सकती है। IOS 5.0.1 पर चलने वाले अपने iPhone 4S पर डिबग करने का प्रयास करते समय मुझे यह समस्या है। मैं अभी भी Xcode 3.2.5 का उपयोग कर रहा हूं। मुझे आयोजक विंडो में "विकास के लिए इस उपकरण का उपयोग करें" का चयन करके हैंडसेट से प्रतीक मिला। यह फोन हालांकि ब्रेकपॉइंट से इनकार करता है। मेरा पुराना 3GS ब्रेकपॉइंट होगा , वही Xcode प्रोजेक्ट, वही सेटिंग्स ... सिर्फ अलग डिवाइस और यह iOS 4.0 चला रहा है। मुझे लगता है कि यह 3.2 में एक Xcode बग है, क्योंकि मेरे पास प्रतीक हैं। अब तक यहां पोस्ट किए गए सभी समाधानों की कोशिश करने के बाद, मैंने तय किया है कि मेरी समस्या का समाधान आगे बढ़ना है और XCode 4 में अपग्रेड करना है। शायद आप प्रभावी ढंग से डिबग नहीं कर सकते हैं जब तक कि आपका आधार एसडीके कम से कम उतना उच्च नहीं है जिस पर सिस्टम डिबग करना है। शायद यह स्पष्ट है - क्या कोई पुष्टि कर सकता है?

संपादित करें: मैं अपडेट करूंगा जब मैं पुष्टि कर सकता हूं कि यह सच है।



2

XCode 6.3.1 में मेरे साथ भी ऐसा ही हुआ है। मैं इसे ठीक करने में कामयाब रहा:

  • के लिए जा रहे देखें> Navigators-> डीबग दिखाएं नाविक
  • प्रोजेक्ट रूट में राइट क्लिक करें -> ब्रेकपॉइंट्स को स्थानांतरित करें (यदि उपयोगकर्ता विकल्प चुना गया है)
  • (मैंने विकल्प शेयर ब्रेकपॉइंट भी चुना है , भले ही मुझे यकीन नहीं है कि यदि आवश्यक हो)।

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

मुझे ठीक से पता नहीं है, लेकिन इससे मेरे ब्रेकपॉइंट वापस मिल जाते हैं।


धन्यवाद! इसने डिबगिंग लॉग की धीमी प्रतिक्रिया को भी निर्धारित किया
Jim75

2

इसके लिए, और Xcode 6 और इसके बाद के संस्करण के लिए सुनिश्चित करें कि ब्रेकपॉइंट स्थिति बटन सक्रिय है (नीला तीर जैसा बटन):

यहां छवि विवरण दर्ज करें


1

Xcode 4 में

- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug 
-      but I have other targets set to AdHoc which debug fine once Debugger is set

1

मुझे समस्या मिल गई। किसी तरह " डिसबैशिंग को दिखाएं जब डिबगिंग " मेरे एक्सकोड में सक्षम किया गया था जो उस समस्या को बनाता है। जब मैंने इसे निष्क्रिय कर दिया, तो मेरे सभी डिबगर मेरे स्रोत कोड में बंद हो गए।

आप इसे नीचे पा सकते हैं: Product->Debug Workflow->Show Disassemblyडिबगिंग करते समय।


1

आप ड्रॉपडाउन मेनू में ब्रेकपॉइंट्स को सक्रिय / निष्क्रिय कर सकते हैं यहां छवि विवरण दर्ज करें


1

यदि ब्रेकपॉइंट के बजाय बाकी सभी विफल हो जाते हैं, तो आप निम्न फ़ंक्शन को कॉल कर सकते हैं:

void BreakPoint(void) {
    int i=1;
    #if !__OPTIMIZE__
    printf("Code is waiting; hit pause to see.\n");
    while(i);
    #endif
}

फिर से शुरू करने के लिए, मैं स्वयं को शून्य पर सेट करता हूं, फिर फिर से शुरू करें बटन दबाएं।


1

मैंने उपरोक्त सभी चीजों की कोशिश की लेकिन मेरे लिए केवल एक बार डिबगिंग ब्रेकपॉइंट को निष्क्रिय करना और फिर उन्हें काम करना सक्रिय कर दिया।


@IshantMrinal यह प्रासंगिक क्यों नहीं है? उपयोगकर्ता ने एक उत्तर दिया जो उसके परिदृश्य में काम करता था।
नोएल विडमर

0

अपने ब्रेक पॉइंट को सेट करते समय, राइट क्लिक करें और आपको ब्रेक ऑप्शन को कैसे संभाला जाए (लॉग वेरिएशन और जारी रखें, पॉज निष्पादन आदि) के बारे में कई विकल्प मिलने चाहिए।

यह भी सुनिश्चित करें कि डिबग वरीयताओं में "लोड सिंबल लाज़िली" का चयन नहीं किया गया है।

(Xcode 3.1 पर लागू होता है, पिछले / भविष्य के संस्करणों के बारे में निश्चित नहीं है)


0

यह भी सुनिश्चित करें कि ऐप का AppStore वितरण डिवाइस पर भी स्थापित नहीं है।


0

जांच करने के लिए एक और बात यह है कि यदि आपके पास आपके डिबग मोड के लिए "एंटाइटेलमेंट" प्लिस्ट फाइल है (संभवतः क्योंकि आप किचेन के साथ सामान कर रहे हैं), तो सुनिश्चित करें कि प्लिस्ट फाइल में "गेट-टास्क-अलाउंस" = YES रो है। इसके बिना, डिबगिंग और लॉगिंग को तोड़ दिया जाएगा।


0

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

इसके अलावा यह सुनिश्चित करें कि आप इसे डिबग कमांड के साथ लॉन्च कर रहे हैं न कि रन कमांड। आप ऐसा कर सकते हैं कि रन मेनू से विकल्प + कमांड + रिटर्न, या गो (डीबग) विकल्प मार कर।


0

मेरे पास Xcode 3.2.3 SDK 4.1 ब्रेकप्वाइंट यादृच्छिक पर विफल होगा। मैंने पाया है कि यदि आप बिल्ड को साफ करते हैं और निर्माण के तहत टच कमांड का उपयोग करते हैं तो वे फिर से काम करते हैं।


0

यहाँ मैंने एक अस्पष्ट बात की है: यदि आप एक साझा पुस्तकालय (या एक प्लगइन) पर काम कर रहे हैं, तो आपके ब्रेकप्वाइंट स्टार्टअप पर पीले हो जाएंगे, जिससे आपको निराशा में अपने कीबोर्ड को हथौड़ा करना होगा और डिबग प्रक्रिया को मारना होगा। खैर, ऐसा मत करो! जब तक ऐप लाइब्रेरी को लोड नहीं करता, तब तक प्रतीक लोड नहीं होंगे, जिस बिंदु पर ब्रेकपॉइंट मान्य हो जाएंगे। मैं एक ब्राउज़र प्लगइन के साथ इस समस्या में भाग गया ... BPs को तब तक अक्षम किया गया जब तक कि मैंने अपने प्लगइन को तत्काल पृष्ठ पर वापस नहीं ला दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.