2010-05-06 14 views
6

में डिबगिंग करते समय स्थैतिक चर संशोधित करें "Modify/view static variables while debugging in Eclipse" प्रश्न के रूप में, मैं ग्रहण में डीबगिंग करते समय स्थिर चर को संशोधित करने में सक्षम होना चाहता हूं।ग्रहण

उदाहरण के लिए और स्थानीय चर, मैं सिर्फ ग्रहण के "चर" दृश्य में चर का चयन कर सकता हूं, और मान बदलने के लिए संदर्भ मेनू "मूल्य बदलें ..." का उपयोग कर सकता हूं।

मनमाने ढंग से स्थैतिक चर के लिए यह संभव नहीं है, क्योंकि वे "चर" दृश्य में प्रकट नहीं होते हैं।

मैं क्या करने की कोशिश की:

  1. आप "चर" दृश्य में त्रिकोण मेनू से "जावा/शो स्थैतिक चर" चुनते हैं, तो आप देख सकते हैं और में सूचीबद्ध चर के स्थिर सदस्य चर को संशोधित "कर सकते हैं चर देखें "। हालांकि, मुझे यह नहीं मिला कि क्लास के स्थिर सदस्य को कैसे एक्सेस किया जाए जिसका उदाहरण "चर दृश्य" में प्रकट नहीं होता है।
  2. आप निश्चित रूप से "अभिव्यक्ति दृश्य" (पूरी तरह से योग्य नाम का उपयोग करके) में अभिव्यक्ति के रूप में स्थिर सदस्य दर्ज कर सकते हैं। फिर आप मान देख सकते हैं, लेकिन "अभिव्यक्ति दृश्य" में मान को संशोधित करने का विकल्प नहीं है (यह अभिव्यक्ति के सदस्यों को संशोधित करने की अनुमति देता है, लेकिन अभिव्यक्ति स्वयं नहीं, भले ही अभिव्यक्ति एक फ़ील्ड हो)।

तो, अगर मैं एक बूलियन MyClass.disableAllBugs की तरह एक स्थिर चर है, वहाँ डिबगिंग के दौरान MyClass.disableAllBugs बदलने के लिए एक तरीका है?

एक तरफ के रूप में: मुझे एहसास है कि सार्वजनिक म्यूटेबल स्थिर फ़ील्ड (यानी परिवर्तनीय वैश्विक चर) भी बहुत खराब शैली है। लेकिन कुछ कोडबेस में यह है, और फिर कभी-कभी इसे डिबगिंग के दौरान संशोधित करने में उपयोगी होता है।

उत्तर

6

आप एक अस्थायी रेखा SomeClass.myStaticVar = newValue; लिख सकते हैं, इसे चुनें, राइट-क्लिक करें और इसे "निष्पादित करें"।

+0

अच्छी चाल। मैं कभी-कभी इसे डिबगिंग करते समय विधियों को मैन्युअल रूप से करने के लिए करता हूं (उदा। अपवाद के लिए प्रिंटस्टैकट्रेस())। हालांकि मैंने इस संदर्भ में इसके बारे में नहीं सोचा था। – sleske

+0

क्या होगा यदि यह एक निजी स्थैतिक क्षेत्र है तो? – RAY

+0

@RAY बस पुष्टि करना चाहता था कि यह निजी स्थिर क्षेत्रों के लिए भी काम करता है। – nerdherd