2017-12-02 17 views
10

जावा 9 की नई StackWalker फीचर ने मुझे एहसास दिलाया कि यह अच्छा होगा अगर ग्रहण (अधिमानतः, या इंटेलिजे) को कस्टम स्टैकवॉकर का उपयोग करने के लिए कॉन्फ़िगर किया जा सके जो सामान्य कॉल स्टैक व्यू को संशोधित कर सकता है आईडीई के डीबगर में।आईडीई डीबगर (जैसे जावा 9 स्टैकवॉकर) में स्टैक फ्रेम छुपाएं

जो मैं करना चाहता हूं वह छिपाना है उदा। जावाईई प्रोग्राम डीबग करते समय विशिष्ट तकनीकी स्टैक प्रविष्टियां, लेकिन कई तृतीय पक्ष समर्थन पुस्तकालयों में भी। आम तौर पर मैं विशिष्ट (अनुकूलन योग्य) ढेर फ्रेम छोड़ने का विकल्प चाहता हूं जो आम तौर पर ब्याज की नहीं हैं, उदाहरण के लिए पैकेज (क्लास नाम) के आधार पर (वाइल्डकार्ड)। आदर्श रूप में, "चरण में" स्वचालित रूप से "नापसंद" स्टैक फ्रेम के अंदर तक इस तरह के फ्रेम और चरण को छोड़ देगा।

क्या किसी को पता है कि ऐसी सुविधा पहले से ही ग्रहण या इंटेलिजे में उपलब्ध है या नहीं। यह ठीक है अगर यह विशेष रूप से स्टैकवॉकर का उपयोग नहीं करता है लेकिन कुछ वैचारिक रूप से समान है। या आप जानते हैं कि आईडीई में ऐसी सुविधा की योजना है या नहीं।

उत्तर

2

एक उत्कृष्ट सुविधा जो मुझे आश्चर्यचकित करती है कि क्यों आईडीई के पास पहले से ही उनकी मूल कार्यक्षमता में नहीं है।

ग्रहण:

किसी ने ऐसा करने के लिए कैसे वर्णित है कि ग्रहण में Java9 बिना: https://stackoverflow.com/a/27332733/3931225। अफसोस की बात है कि वर्तमान में केवल ग्रहण लुना (4.4) के लिए काम करता है।

उनका काम stackfilter plugin पर इंटरर्सल्ट से आधारित है, जो केवल ग्रहण इंडिगो (3.7) तक काम करता है।

किसी भी फिल्टर के बिना ग्रहण कॉल स्टैक: Eclipse no filter

stackfilter प्लगइन के साथ

ग्रहण कॉल स्टैक: Eclipse with filter

इंटेलीजे:

मैं में कॉल स्टैक फिल्टर करने के लिए किसी भी तरह से नहीं मिला IntelliJ, लेकिन इसमें step filter

+0

मुझे नहीं लगता कि इस उत्तर का कोई भी हिस्सा वास्तव में प्रश्न को संबोधित करता है। सवाल विशेष रूप से डीबगर का उल्लेख करता है, आउटपुट कंसोल नहीं। दोनों विकल्प केवल कंसोल के साथ सौदा करते हैं। –

+0

@ ई-रिज आप सही हैं। मैंने अपने जवाब से IntelliJ कंसोल सामान हटा दिया, और IntelliJ के लिए एक चरण फ़िल्टर के लिए एक लिंक जोड़ा। एक्सेलिप्स प्लगइन के स्क्रीनशॉट को बेहतर दिखाने के लिए यह भी दिखाया गया है कि यह कॉल स्टैक के बारे में है, आउटपुट कंसोल नहीं। – KompjoeFriek

2

IntelliJ है डीबगर विंडो में एक स्टैक फ़िल्टर। यह आपको उन पुस्तकालयों से प्रविष्टियों को छिपाने देता है जो आपके स्वयं के कोड नहीं हैं। यह ढेर फ्रेम खिड़की

img

एक बार चालू के ऊपरी दाएं कोने में छोटे से फिल्टर हॉपर चिह्न है, मैं सिर्फ अपने कोड से आ रही फ्रेम देखते हैं। जहां तक ​​मैं कह सकता हूं, डीबगर उस चयन का सम्मान करता है और उन तरीकों में कदम नहीं उठाता है जो बाहरी पुस्तकालय तक पहुंचते हैं जब तक आपके कोड से संबंधित स्टैक-फ्रेम होते हैं।

प्लगइन रिपोजिटरी की तेज़ी से जांच करने से अतिरिक्त सुविधाओं को प्रदान करने वाले किसी भी आशाजनक प्लगइन को प्रकट नहीं किया गया।

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