2012-10-08 13 views
18

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

विचार?

उत्तर

9

Debug परिप्रेक्ष्य में, Expressions देखें दिखाएं। अब आप e.printStackTrace() की एक अभिव्यक्ति जोड़ सकते हैं जहां e आपकी चर है।

वैकल्पिक रूप से, आप अपनी अभिव्यक्ति को getStackTrace() पर बदल सकते हैं और Expressions आउटपुट विंडो में StackTraceElement सरणी का विस्तार कर सकते हैं।

2

मैं आमतौर पर निम्नलिखित चाल का उपयोग करता हूं। "अभिव्यक्ति" दृश्य पर जाएं और अभिव्यक्ति e.printStackTrace() जोड़ें। स्टैक ट्रेस आपके एसटीडीईआरआर को मुद्रित किया जाएगा, यानी यदि आपका एप्लिकेशन एक्लिप्स आईडीई के अंदर चल रहा है तो कंसोल ग्रहण करने के लिए।

5

आप Exception Breakpoint क्यों नहीं बनाते? तब आपको अपवाद होने तक मैन्युअल रूप से अपने कोड से डीबग करने की आवश्यकता नहीं होती है, इसके बजाय डीबगर केवल तब भी रुक जाएगा जब भी यह अपवाद मूल रूप से फेंक दिया जाता है और आप डीबगर में लाइव स्टैकट्रैक देख सकते हैं।

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