ग्रहण में मेरी लॉगकट विंडो केवल प्रत्येक अपवाद के लिए स्टैकट्रेस की पहली कुछ पंक्तियां प्रदर्शित करती है। इसका मतलब है कि मैं अक्सर नहीं देख सकता कि एक अपवाद कहाँ हुआ। क्या इस सेटिंग को बदलने का कोई तरीका है?ग्रहण लॉगकट विंडो अपवाद स्टैक निशान काटता है
उत्तर
यदि आप "... 12 और लाइनें ..." भाग का जिक्र कर रहे हैं, तो आप केवल उन अपवादों के लिए देख सकते हैं जो किसी अन्य अपवाद का कारण थे। यदि स्टैक ट्रेस का शीर्ष भाग पहले के निशान के समान होता है, तो फ्रेम का पूरा सेट केवल बाहरी अपवाद के लिए दिखाया जाता है, और अन्य निशान "..." उपचार प्राप्त करते हैं।
एक और तरीका रखो, एक निशान का हिस्सा जो दिखाया नहीं गया है वह एक ट्रेस का डुप्लिकेट है जो अपवाद कारण श्रृंखला में पहले दिखाई देता था। उदाहरण के लिए, मान लें कि मेरे पास कोड है जहां विधि main()
one()
पर कॉल करती है, जो two()
पर कॉल करती है, और इसी तरह। four()
एक अपवाद फेंकता है। two()
इसे पकड़ता है और इसे फिर से फेंकता है। अपवाद इस तरह दिखेगा:
java.lang.RuntimeException: re-throw
at Foo.two(Foo.java:14)
at Foo.one(Foo.java:7)
at Foo.main(Foo.java:3)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: first
at Foo.four(Foo.java:23)
at Foo.three(Foo.java:19)
at Foo.two(Foo.java:12)
... 3 more
अपवाद कहते हैं, "की वजह से" "... 3 अधिक" के बजाय स्पष्ट रूप से one()
, main()
, और dalvik.system.NativeStart.main
लिस्टिंग। तो प्रारंभिक अपवाद का पूरा पता लगाने के लिए, आप इसके निशान को पढ़कर शुरू करेंगे, फिर उपरोक्त निशान पर जारी रखें।
नोट कोई ओवरलैप है - दोनों में two()
प्रकट होता है, लेकिन "पहली" का पता लगाने के लिए यह three()
को फोन पर है, और "फिर से फेंक" में में पता लगाने के लिए यह throw
अनुदेश पर है।
तो समाधान क्या है यदि मूल अपवाद वह है जिसे आप 7 से अधिक या उससे अधिक लाइन देखना चाहते हैं? – George
मैंने स्पष्टीकरण को फिर से लिखा और एक उदाहरण जोड़ा। – fadden
हाँ, मैंने थोड़ी देर में "असली" जावा के साथ काम नहीं किया है, लेकिन मुझे इसे "जावा स्टैकट्रैक 12 और" या कुछ ऐसा करने के लिए गुगल करके काम करना चाहिए था। जैसा कि आप इंगित करते हैं, रेडक्टेड ("12 और") रेखाएं उपरोक्त स्टैकट्रैक से डुप्लिकेट लाइनें हैं। मैं इस धारणा के तहत था कि लॉगकैट स्टैकट्रैक की "सहायक" रेखाओं को ट्रिम कर रहा था, लेकिन ऐसा नहीं है। मेरी गलतफहमी को ठीक करने के लिए धन्यवाद। – George
यदि आपका कोड एक ऐसी विधि को कॉल करता है जो बहुत अधिक स्टैक उत्पन्न करता है तो आप अपने कोड और आउटपुट में अपवाद को नियंत्रित कर सकते हैं जो लॉग के लिए प्रासंगिक है।
यदि आपके पास कोई अपवाद नहीं है और आप यह भी नहीं जानते कि आपके कोड में आप कहां हैंडलर डाल रहे हैं तो समस्या पूरी तरह से कहीं और है - आपको अपवादों को उससे थोड़ा बेहतर तरीके से संभालना चाहिए।
आप (String tag, String msg, Throwable tr)
पैरामीटर के साथ सभी लॉग विधियों (log.d, log.i, log.e, आदि) को अधिभारित कर सकते हैं, जहां तीसरा पैरामीटर अपवाद है। यह आपको logcat
http://developer.android.com/reference/android/util/Log.html
- 1. हाइलाइटिंग पायथन स्टैक निशान
- 2. जावा स्टैक निशान
- 3. लॉगकट
- 4. ग्रहण का उपयोग कर ग्रोवी में स्वच्छ स्टैक निशान?
- 5. मोनो टच स्टैक निशान विस्तृत नहीं हैं
- 6. जावा स्टैक निशान से शोर की सफाई
- 7. एंड्रॉइड स्टैक निशान में टैग कैसे जोड़ें?
- 8. ग्रहण लॉगकट फ़िल्टर प्लस साइन नहीं दिखता
- 9. यूनिट टेस्ट w/पूर्ण स्टैक निशान
- 10. पर्ल में स्टैक निशान प्राप्त करना?
- 11. अपवाद स्टैक
- 12. पायथन: लाइब्रेरी कोड में स्टैक निशान को समाप्त करना?
- 13. आईआईएस स्टैक ओवरफ्लो अपवाद
- 14. जावास्क्रिप्ट अपवाद स्टैक ट्रेस
- 15. जीडब्ल्यूटी: क्लाइंट-साइड त्रुटियों/सर्वर पर स्टैक निशान भेजें?
- 16. Django: रनटाइम चेतावनियों के लिए स्टैक निशान कैसे प्राप्त करें
- 17. कॉल स्टैक विंडो हमेशा खाली
- 18. किसी भी कारण से हमेशा स्टैक निशान लॉग नहीं करना है?
- 19. AppDomain.FirstChanceException और स्टैक ओवरफ़्लो अपवाद
- 20. स्टैक ओवरफ्लो त्रुटि, View.inflate अपवाद
- 21. ग्रहण पर पूर्ण स्टैक ट्रेस कैसे दिखाएं?
- 22. एंड्रॉइड के साथ ग्रहण में स्टैक ट्रेस ढूंढना
- 23. ग्रहण कंसोल अपवाद रंग
- 24. मैं ब्राउज़र में (जेटी का उपयोग करके) स्टैक निशान कैसे छिपा सकता हूं?
- 25. आउटपुट विंडो में प्रिंट स्टैक ट्रेस
- 26. क्या मैं अपने सी # ऐप में सभी धागे के स्टैक निशान प्राप्त कर सकता हूं?
- 27. एंड्रॉइड एडीबी लॉगकैट - पूर्ण लॉगकट दिखा रहा है
- 28. विंडो मैनेजर खराब टोकन अपवाद
- 29. एंड्रॉइड: ग्रहण - अपवाद नहीं दिखा रहा है
- 30. ओसीएमएल में स्टैक निशान मुद्रित करने के लिए कब -g का उपयोग किया जाना चाहिए?
में पूर्ण स्टैकट्रेस दे देंगे क्या एसडीके संस्करण का उपयोग कर रहे हैं? यह एक बहुत अजीब behaivor है ... क्या आप कृपया आउटपुट का एक उदाहरण प्रदान कर सकते हैं जो स्टैक ट्रेस को काटता है? * संपादित करें *: मुझे ग्रहण टैग नहीं मिला, क्षमा करें। वैसे भी, यदि आप मूल लॉगकैट का उपयोग करते हैं, तो मुझे लगता है कि आपको कोई समस्या नहीं होगी: 'adb logcat' – Cristian
यदि आप "... 12 और लाइनें ..." भाग का जिक्र कर रहे हैं, तो आप केवल अपवादों के लिए देखते हैं एक और अपवाद का कारण थे। यदि स्टैक ट्रेस का शीर्ष भाग दूसरे जैसा ही है, तो फ्रेम का पूरा सेट केवल उनमें से एक के लिए दिखाया जाता है, और दूसरा व्यक्ति "..." उपचार प्राप्त करता है। (आपको वास्तव में अपने प्रश्न में अधिक जानकारी जोड़ने की आवश्यकता है - हम बस आप जो चाहते हैं उस पर अनुमान लगा रहे हैं।) – fadden
@ फ़ेडडन: आप सही हैं - यह बिल्कुल कट नहीं करता है। यदि आप इस टिप्पणी को उत्तर के रूप में पोस्ट करते हैं, तो मैं इसे स्वीकार करूंगा। – Casebash