2011-08-29 13 views
7

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

मेरा गैर-ऑटोकॉन्टीन्यू ब्रेकपॉइंट ठीक काम करता है।

मैंने एक नई परियोजना की कोशिश की और समस्या अभी भी हुई। तो यह मेरे कंप्यूटर या एक्सकोड में एक सेटिंग से संबंधित होना चाहिए। मैं हिम तेंदुए और एक्सकोड 4.0.2 का उपयोग कर रहा हूँ।

क्या मामला हो सकता है?

संपादित करें: कोड और कंसोल लॉग।

कोड:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [self.window makeKeyAndVisible]; 
    int x = 5; 
    printf("%d", x); // breakpoint here with autocontinue checked and no action 
    x+=2; 
    printf("%d", x); 
    return YES; 
} 

कंसोल लॉग:

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all 
Attaching to process 87901. 
Pending breakpoint 1 - ""AutocontinueTestAppDelegate.m":21" resolved 
Current language: auto; currently objective-c 
57 

यह है कि भले ही अनुकूलन कोई नहीं पर सेट किया गया था, दोनों printf बयान निकाल दिया दिलचस्प है।

+0

आपका शीर्षक और विवरण बाधाओं में प्रतीत होता है। क्या समस्या है कि "एक्सकोड [ऑटो] जारी रखने वाले ब्रेकपॉइंट्स पर रोक रहा है" या "एक्सकोड रुकता नहीं है"? यदि यह पूर्व है, तो मुझे एक ही समस्या मिल गई है और मुझे उम्मीद है कि आपको एक अच्छा जवाब मिल जाएगा! – clozach

+0

क्या यह एक्सकोड 4.1 में होता है? –

+0

मुझे वास्तव में लगता है कि @deanWombourne सही हो सकता है: शायद एक बग। यहां एक परीक्षण है जो मैंने अभी किया था: 1) बटन बटन में कहीं ब्रेकपॉइंट सेट करें 2) ध्वनि को चलाने के लिए संपादित करें और सेट करें + ऑटो-जारी रखें 3) ऐप चलाएं: ऐप रुकता है जब मैं सिम्युलेटर में बटन टैप करता हूं। 4) ब्रेकपॉइंट को एक रेखा के नीचे खींचें: ऐप जारी रहता है, सिम्युलेटर अग्रभूमि में आता है, और बाद में नलियां बिना रुके आवाज बजाती हैं। – clozach

उत्तर

1

जो आप वर्णन करते हैं, उससे ऐसा लगता है कि यह एक्सकोड में एक बग हो सकता है - इसकी रिपोर्ट करें here

(माफ करना मेरा उत्तर अधिक उपयोगी नहीं है)

1

आप अपने कंसोल लॉग चिपका सकते हैं। जांचें कि आपकी 'हालत' और 'एक्शन' वैध हैं और बिना त्रुटि के। मैंने अभी resetAllAppData == NO की कार्रवाई के साथ इसका परीक्षण किया लेकिन ब्रेकपॉइंट ने निष्पादन को रोक नहीं दिया क्योंकि 'एक्शन' को 'resetAllAppData == false' होना चाहिए।

यह एक और परीक्षण की सांत्वना लॉग है:

Attaching to process 23361. 
warning: Error parsing breakpoint condition expression 
Pending breakpoint 1 - ""iPhoneAppDelegate.m":50" resolved 

मैं यह त्रुटि आई क्योंकि मैं "डीबगर आदेश" po resetAllAppData होने की ब्रेकप्वाइंट के "कार्रवाई" की स्थापना की और resetAllAppData के बाद से एक वस्तु typedef signed char BOOL; नहीं है यह कार्रवाई निष्पादित नहीं कर सकता है और बाद में ब्रेकपॉइंट पर नहीं रुकता है।

2

यदि आप डिवाइस पर अपना ऐप चला रहे हैं, तो मुझे यह आपके लिए मिला है: वर्तमान में, स्वत: जारी ब्रेकपॉइंट केवल सिम्युलेटर पर काम करते हैं, डिवाइस पर नहीं।

स्रोत: कुछ ऐप्पल इंजीनियर।

0

यह मेरे साथ भी हो रहा था। मैंने देखा कि दिए गए ब्रेकपॉइंट पर यह कभी-कभी बंद हो जाएगा। ब्रेकपॉइंट po का उपयोग करके कंसोल करने के लिए एक बूल लॉगिंग कर रहा था। इसका निरीक्षण करते हुए मैंने देखा कि जब भी वह बूल 1 था तब यह रुक जाएगा, यह बंद हो जाएगा और [no Objective-C description available] लॉग में शामिल होगा। इसे किसी ऐसे चीज़ में बदलना जो रोकता है कि कोई भी विवरण-उपलब्ध "बग" ऑटो निरंतरता में नहीं हुआ।

तो अब मैं की तरह कुछ का उपयोग कर रहा:

po (NSString *)[NSString stringWithFormat:@"%d", isCenterActive] 

एक बेहतर और कम समाधान है, हालांकि हो सकता है।

संबंधित मुद्दे