2014-06-30 11 views
9

ऑब्जेक्टिव-सी में, जब भी एक अनुप्रयोग क्रैश हो जाता है, मैं देखने के लिए जहां पिछले विधि है कि AppDelegateस्विफ्ट में मुझे स्टैक ट्रेस त्रुटि कैसे मिल सकती है?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSSetUncaughtExceptionHandler(&myExceptionHandler); 
    return YES; 
} 

void myExceptionHandler(NSException *exception) 
{ 
    NSArray *stack = [exception callStackReturnAddresses]; 
    NSLog(@"Stack trace: %@", stack); 

    NSLog(@"MyExceptionHandler"); 
} 

में इस कोड का उपयोग करके त्रुटि का कारण बनता है स्टैक ट्रेस प्राप्त कर सकते हैं और यह करने के लिए लॉग स्टैक ट्रेस प्रिंट होगा कंसोल जिसे मैं main.m पर main.m पर समाप्त होने की बजाय समस्या के कारण को डीबग करने के लिए उपयोग कर सकता हूं,

तो मैं इसे स्विफ्ट में कैसे कर सकता हूं?

+1

जांच: http://stackoverflow.com/questions/24023112/try-catch-exceptions-in-swift –

+0

नोट: आपके कोड केवल एक अन्य संकेत आधारित दुर्घटनाओं के लिए नहीं, अपवाद के लिए स्टैक ट्रेस को दर्शाता है। – Kerni

उत्तर

3

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

यह नेविगेटर में ब्रेकप्वाइंट नेविगेटर टैब पर जाकर, तल पर प्लस पर क्लिक छोड़ दिया और "जोड़ें अपवाद ब्रेकप्वाइंट" का चयन करके सेट किया जा सकता।

अपवाद ब्रेकप्वाइंट की तुलना में यह पर राइट क्लिक करें और "संपादित ब्रेकप्वाइंट" का चयन करके विभिन्न विकल्पों के साथ संपादित किया जा सकता।

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