2010-05-20 16 views
134

जावा कोड डिबगिंग है, स्ट्रिंग्स दृश्य "चर" और "भाव" में केवल एक निश्चित लंबाई तक दिखाने के लिए, जिसके बाद ग्रहण शो "..."पूरा तार को देखते हुए ग्रहण में डीबगिंग

है वहाँ किसी भी पूरी स्ट्रिंग का निरीक्षण करने का तरीका? (यह हर जगह डीबगिंग के लिए लॉगिंग स्टेटमेंट जोड़ने का दर्द आसान बनाता है)

+0

आप इस व्यवहार को कहां देख रहे हैं? डीबगर का कौन सा हिस्सा? – skaffman

+0

एक तरफ ध्यान दें, यह एक गलत नामक हो सकता है, क्योंकि यह आपके लिए काम नहीं कर सकता है, लेकिन यदि आप java.util.logging या log4j जैसे डिबगिंग लाइब्रेरी का उपयोग करते हैं, तो आप आसानी से अपने डीबग कथन (डिबगिंग के विभिन्न स्तरों के साथ) को बदल सकते हैं। प्रिंटआउट या लॉगफाइल में और यह आपको किनारे दे सकता है जो डीबग विंडो में तारों के माध्यम से निकलता है। बस एक विचार =) – corsiKa

उत्तर

181

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

enter image description here

+17

चयनित व्यक्ति की तुलना में बेहतर समाधान। धन्यवाद! – Colin

+11

यह इंगित करने के लिए अच्छा है कि विवरण फलक वह अनुभाग है जहां स्ट्रिंग सामग्री प्रदर्शित होती है। – Bnrdo

+1

ग्रहण केप्लर में यह कैसे करें? Pls मदद – Foolish

16

आप एक बहुत लंबी स्ट्रिंग है, तो मैं एक अलग रणनीति का उपयोग करें: एक फ़ाइल में डंप। मेरे पास डिस्प्ले व्यू में उपयोग किए जाने वाले कोड का एक स्निपेट है, जिसका मूल्यांकन डेटा को फ़ाइल में डंप करने के लिए किया जाता है। मैं कॉमन्स आईओ का उपयोग करता हूं, लेकिन आप इसे केवल जेडीके के साथ ही कर सकते हैं।

org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File("<filename>"), <expression to evaluate>); 

स्वाभाविक रूप से, आप काम करने के लिए उस के लिए अपने classpath में कॉमन्स आईओ जार की आवश्यकता होगी। यदि आप नहीं करते हैं, तो जेडीके काम का सहारा लें।

+3

कूल वर्कअराउंड। मैं, व्यक्तिगत रूप से, इसे सबसे अच्छे उत्तर के रूप में स्वीकार करूंगा। चेतावनी: को उस सिस्टम के लिए परिभाषित किया जाना चाहिए जहां JVM चल रहा है, जो रिमोट डीबगिंग होने पर एक फर्क पड़ता है, इस स्थिति में फ़ाइल रिमोट सिस्टम पर लिखी जाएगी, न कि वर्कस्टेशन पर जहां ग्रहण चल रहा है। – rexford

+0

यह एकमात्र समाधान है जो मेरे लिए काम करता है। धन्यवाद! – Dherik

131
चर आप चर पर राइट क्लिक करें और मूल्य बदलें का चयन देखने में

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

+1

मैं केवल डेटा देख सकता हूं: डेटा: छवि/बिटमैप; बेस 64,/9 जे/4 एएचक्यूकेजेजेजेआरएबीएबीएएएएएएचकएएडएड/2 डब्लूडीडीएएबीएचक्यूएबीक्यूएबीएचक्यूएबीक्यूएबीएचक्यूए ... (लंबाई: 2286 9) "'। "अधिकतम लंबाई" विकल्प सेट करें और "मूल्य बदलें" सेट न करें। – falko

+0

@falko "अधिकतम लंबाई" मेरे लिए काम नहीं किया, "मूल्य बदलें" ठीक था (कुछ सेकंड के लिए प्रतीक्षा करने के बाद, परिवर्तनीय लंबाई के आधार पर)। – UmbySlipKnot

+0

कम से कम मेरे सिस्टम पर, यह "अधिकतम लंबाई" बढ़ाने से अधिक * धीमा * धीमा है (अन्य उत्तर देखें)। – sleske

0

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

नोट - "अधिकतम लंबाई" को "लोड पूर्ण मान" के लिए काम करने के लिए सेट किया जाना चाहिए क्योंकि यह अधिकतम लंबाई तक मूल्य लोड करता है (ग्रहण में डिफ़ॉल्ट 10000 है)। अधिकतम लंबाई सेट करने के तरीके को देखने के लिए ऊपर दिए गए उत्तर का संदर्भ लें।

4

जब डिबगर बिंदु जहां स्ट्रिंग मान चाहते तक पहुँच जाता है, बस एक sysOut बयान

System.out.println("The value is : \n " + query); 

बयान से ऊपर का चयन करें टाइप करें, सही क्लिक-> निष्पादित

यह मूल्य प्रिंट होगा कंसोल पर

6

ग्रहण डीबग दृश्य से स्ट्रिंग मान देखने का सबसे अच्छा तरीका नीचे जैसा है।

1) डिबग दृश्य पर स्विच ग्रहण

2 में) चर फलक में वांछित चर का चयन करें।

3) वेरिएबल फलक के प्रदर्शन क्षेत्र पर राइट क्लिक करें जहां मान दिखाया गया है और अधिकतम लंबाई पर क्लिक करें। विवरण फलक कॉन्फ़िगर करने में अधिकतम चार मान दर्ज करें।

4) चीयर्स

enter image description here

+1

स्वीकार्य उत्तर से काफी बेहतर है। धन्यवाद! – simon

0

कोई "maxlength" ग्रहण मंगल ग्रह में नहीं है। और, "परिवर्तन मूल्य" केवल "चर" के साथ काम करता है, न कि "अभिव्यक्ति", इसलिए मेरे लिए उपरोक्त में से कोई भी काम नहीं करता है।

enter image description here

और, अभिव्यक्ति अंत में नहीं, बीच में कटौती कर रहे हैं। मुझे लगता है कि उन्होंने डिफ़ॉल्ट व्यवहार बदल दिया है।

मेरे लिए काम करने वाली एकमात्र चीज अभिव्यक्ति नाम कॉलम की चौड़ाई का विस्तार करना है, और पूर्ण लंबाई सामग्री देखने के लिए इसे चुनने के लिए अभिव्यक्ति पर क्लिक करें।

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