Objc_exception_throw में एक ब्रेकप्वाइंट कैसे जोड़ें?


80

इस एसओ सवाल पर ब्रैड लार्सन का जवाब था

यदि आप दो ब्रेकप्वाइंट जोड़ते हैं, तो आपको इन अपवादों को डीबग करने में सक्षम होना चाहिए। ऐसा करने के लिए, रन पर जाएं | शो | ब्रेकपॉइंट और दो वैश्विक ब्रेकप्वाइंट बनाएं (मैं उन्हें वैश्विक रूप से करता हूं क्योंकि वे मेरे सभी अनुप्रयोगों में बहुत उपयोगी हैं)। पहले का नाम "objc_exception_throw" होना चाहिए और इसका स्थान "libobjc.A.dylib" होना चाहिए। दूसरा होना चाहिए "- [NSException raise]" और इसका स्थान "CoreFoundation" होना चाहिए।

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

अब इस उत्तर में मैं पूछना चाहता हूं कि मैं उल्लिखित स्थान को कैसे जोड़ूं ???


XCode 4 के लिए किसी के पास स्क्रीनशॉट / मेनू पथ हैं?
buildsucceeded

2
XCode 4 में ऐसा करने के निर्देशों के लिए Apple देव मंचों पर इस धागे को देखें: devforums.apple.com/thread/68421
एंडी सिनक्लेयर

जवाबों:


81

मुझे लगता है कि ब्रैड का उत्तर बहुत स्पष्ट है; यदि आप इसे स्पष्ट नहीं पा रहे हैं तो उम्मीद है कि यह मदद कर सकता है।

Xcode में, टॉप मेनू से Run> Show> Breakpoint पर क्लिक करें। एक नई विंडो पॉप अप होती है।

बाएं हाथ मेनू में "वैश्विक ब्रेकप्वाइंट" का चयन करें। "ब्रेकप्वाइंट" कॉलम के नीचे दाईं ओर एक बॉक्स होना चाहिए जिसमें टेक्स्ट "सिंबल के लिए डबल-क्लिक" हो। इस बॉक्स में सिंगल-क्लिक करें और "objc_exception_throw" टाइप करें।

फिर, "स्थान" कॉलम के तहत "objc_exception_throw" के बगल में स्थित एकल-क्लिक करें। आपके लिए स्थान में बॉक्स टाइप करने के लिए एक बॉक्स दिखाई देगा (इस मामले में, "libobjc.A.dylib")। मैंने एक स्क्रीनशॉट बनाया है जो उम्मीद में मदद करेगा:

वैकल्पिक शब्द


बहुत अच्छा काम करता है। विस्तार के लिए धन्यवाद।
रोब सेगल

17
Xcode 4 में, एक ब्रेकपॉइंट नेविगेटर है जहां आप इन्हें जोड़ सकते हैं।
डॉन

इसके अलावा आप स्क्रिप्ट स्थापित कर सकते हैं जो कंसोल में अपवाद विवरण प्रिंट करता है , होना चाहिए!
DanSkeel

45

Xcode 4 में इस महान ब्रेकपॉइंट को ब्रेकप्वाइंट सेक्शन पर "+" बटन के माध्यम से जोड़ा जा सकता है (6 + 6)

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


1
इसी दृष्टिकोण का उपयोग XCode 5
अमीर शेख

इसके अलावा आप स्क्रिप्ट स्थापित कर सकते हैं जो कंसोल में अपवाद विवरण प्रिंट करता है , होना चाहिए!
DanSkeel

6

Xcode 6 में - शीर्ष मेनू से

डीबग> ब्रेकपॉइंट्स> एक्सेप्शन ब्रेकअप बनाएं


अन्य उत्तर बदल गए हैं, यह उत्तर अप्रैल 2017 / Xcode8 के अनुसार सही है
जोश

4

मैं +[NSException raise:format:arguments:]ब्रेकपॉइंट को जोड़ने की सिफारिश करना चाहूंगा और इसका स्थान होना चाहिए CoreFoundation

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