लॉन्च के बाद iOS ऐप में डीबगर कैसे संलग्न करें?


101

मेरे पास एक समस्या है जो मैं समस्या निवारण कर रहा हूं जो बहुत बार होता है और जब मुझे Xcode के तहत चलने वाली चीजें होती हैं तो ऐसा प्रतीत नहीं होता है।

क्या मेरी समस्या होने तक सामान्य रूप से (स्प्रिंगबोर्ड से) ऐप चलाना संभव है, और फिर उस बिंदु पर डिबगर संलग्न करें?

मैं अगर संभव हो तो जेलब्रेक किए बिना ऐसा करना पसंद करूंगा।

जवाबों:


124
  • अपने मैक से जुड़े अपने डिवाइस को संलग्न करें
  • डीबग> पीआईडी ​​या नाम से प्रक्रिया में संलग्न करें
  • डायलॉग शीट में, अपने ऐप का नाम दर्ज करें क्योंकि यह एक्सकोड के माध्यम से शुरू होने पर डिबग नेविगेटर में दिखाई देता है।

यदि ऐप पहले से चल रहा है, तो डिबगर रनिंग प्रक्रिया से जुड़ जाएगा। यदि यह नहीं चल रहा है, तो यह एप्लिकेशन के लॉन्च होने और फिर संलग्न होने की प्रतीक्षा करेगा।


ओले, उत्तर के लिए धन्यवाद। मैं ऐसा करने का तरीका ढूंढ रहा था। जब मैं डिबगर संलग्न करने के लिए जाता हूं, तो ऐसा लगता है कि यह संलग्न है लेकिन फिर मुझे यह संदेश मिलता है: चेतावनी: / var / mobile / Applications / {GUID} / {APPNAME} .app / {APPNAME} के लिए प्रतीकों को पढ़ने में असमर्थ (फ़ाइल नहीं) मिल गया)। जब मैं XCode में "स्टॉप" बटन दबाता हूं, तो ऐप समाप्त हो जाता है। ऐसा लगता है कि यह डिबग प्रतीकों को नहीं ढूंढ रहा है, हालांकि इसे डीबग मोड में बनाया जा रहा है। कोई विचार?
ब्रायन

4
मुझे समस्या है कि अगर यह नहीं चल रहा है, तो यह एप्लिकेशन के लॉन्च होने और फिर संलग्न होने की प्रतीक्षा करेगा। अंश। यह काम नहीं करता है। मैं एप्लिकेशन को कॉल करने के लिए प्रतीक्षा करने के लिए प्रक्रिया नाम का उपयोग करता हूं। मैं ऐप को iPhone पर लॉन्च करता हूं, लेकिन डिबगर को कभी पता नहीं चलता कि ऐप शुरू हो गया है।
जॉनी

1
@BrianV - आपको यह सुनिश्चित करने की ज़रूरत है कि आप -ddb का संकलन कर रहे हैं यदि आप प्रक्रिया में संलग्न होना चाहते हैं।
itfische

4
मैं जॉनी से सहमत हूं; मेरा अनुभव यह है कि संलग्नक सिम्युलेटर पर काम करता है, लेकिन वास्तविक डिवाइस के साथ संलग्न नहीं होगा।
जेम्स मूर

4
नोट: Xcode 5.0.1+ में यह Debug > Attach to Process > By Process Identifier (PID) or Name stackoverflow.com/a/20193088/175830
जेसन

117

मैं इसे यहाँ छोड़ दूँगा क्योंकि अन्य 2 जवाबों में से किसी ने भी मुझे बिना किसी संघर्ष के काफी विस्तार दिया।

  1. सिम्युलेटर में अपना ऐप चलाएं और डीबग नेविगेटर में नाम पर ध्यान दें यहां छवि विवरण दर्ज करें

  2. अपने डिवाइस में प्लग करें और लक्ष्य के रूप में अपने डिवाइस का चयन करना न भूलें यहां छवि विवरण दर्ज करें

  3. डिबग> प्रक्रिया से संलग्न करें> प्रक्रिया पहचानकर्ता (पीआईडी) या नाम से यहां छवि विवरण दर्ज करें
  4. चरण 1 से नाम दर्ज करें और संलग्न करें। आपको बस इतना ही करना चाहिए। यहां छवि विवरण दर्ज करें

8
आपके पास 1000 upvotes होने चाहिए। कटम यूआरएल योजना के माध्यम से शुरू होने वाली चीजों को डीबग करने से इस स्वच्छ चाल के बिना गधे में दर्द हो सकता है। बहुत धन्यवाद!
txulu

2
काश मैंने 20 मिनट बिताए इससे पहले कि मैं अपने दम पर यह पता लगाने से पहले यह जवाब देख
पाया

7
इसमें यह काम करता है कि यह प्रक्रिया में संलग्न हो, लेकिन मुझे कोई लॉग आउटपुट प्राप्त करने के लिए नहीं देखा जा सकता है जो कि वास्तव में मेरी आवश्यकता है। कोई विचार?
ऑरलैंडो

2
@ ऑरलैंडो - यदि आप लॉग आउटपुट की तलाश कर रहे हैं, तो मैं अत्यधिक सलाह देता हूं DeviceConsole: github.com/rpetrich/deviceconsole
orion elenzil

1
जैसा आपने सुझाव दिया मैंने वैसा ही किया। और मुझे त्रुटि मिलती है: Could not attach to PIDमैंने नाम और उसकी आईडी दोनों की कोशिश की। मैंने कोशिश की कि ऐप चल रहा हो और रुकते समय ..
हनी

49

Xcode 5.0.1 और 6 में यह मेनू बार आइटम है:

Debug > Attach to Process > By Process Identifier (PID) or Name...

7

Xcode 7 में यह सिर्फ है:

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