2009-07-23 14 views
5

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

मैं इन मूल्यों को कड़ी मेहनत से कोड लेकिन किए जा सकेंगे:

  • मेरा मानना ​​है कि यह बुरा व्यवहार है।
  • मुझे चिंता है कि फ़ाइल हमारे वीसीएस में चेक की जाएगी और विनाशकारी लहर प्रभाव पड़ता है।
  • एकाधिक डेवलपर इस परियोजना पर काम कर रहे हैं, इसलिए मेरा नाम, स्थान असाइनमेंट इत्यादि हार्ड कोडिंग वास्तव में एक विकल्प नहीं है।
  • मैं फ़ाइल को केवल पढ़ने के लिए नहीं बना सकता क्योंकि यह सक्रिय विकास में है और मुझे लगातार फ़ाइल के अद्यतन संस्करण को प्राप्त करने की आवश्यकता है।

मेरा प्रश्न है:

  • वहाँ एक अंतर्निहित रास्ता या एक विस्तार स्वतः चर डिबग मोड में एक मूल्य निर्दिष्ट है। अभी मैं चर को हाइलाइट करता हूं और अपना टेक्स्ट टाइप करता हूं, क्या यह स्वचालित हो सकता है?

अग्रिम

उत्तर

1

धन्यवाद जब मैं इस तरह की स्थितियों को मारा, मैं आमतौर पर सशर्त संकलन और वातावरण चर/reg कुंजी का एक संयोजन। आप इन स्टोरेज मैकेनिज्म का उपयोग अपनी जानकारी को होस्ट करने के लिए एप्लिकेशन में हार्ड कोडिंग के बिना कर सकते हैं।

#if DEBUG 
if (null != Environment.GetVariable("CUSTOM_INFO")) { 
    userName = Environment.GetVariable("CUSTOM_USERNAME"); 
    ... 
} 
#endif 

इस तरह यह किसी भी अन्य डेवलपर्स को प्रभावित नहीं करेगा। बेशक, वे एक ही चीज़ को पूरा करना चाहते हैं।

0

जेरेडपार के उत्तर में जोड़कर, कक्षा को आंशिक बनाएं।

यह आपको मुख्य फ़ाइल (जिसे चेक इन किया जाता है) को अपडेट करने देगा। दूसरी फ़ाइल (जिसमें IF DEBUG है) स्थानीय & चेक-इन नहीं होगा।

आशा है कि मदद करता है।

0

अजीब सवाल। इसे कुत्ते-जीवन पहले पोस्ट किया गया था लेकिन 200 9 में यूनिट परीक्षण और परीक्षण संचालित विकास की अवधारणाएं पहले ही अच्छी तरह से स्थापित की गई थीं। उत्कृष्ट टूलिंग उपलब्ध है, जैसे नुनिट और testdriven.net। एक डीबगर उपयोग करने का सही उपकरण नहीं है, जो सिर्फ ग्रे बालों का उत्पादन करता है।

+0

आइह, लेकिन पूरे सिस्टम को चलाने के लिए, मूल्यों को डालने के दौरान, परीक्षण ढांचे भी ऐसा नहीं करते हैं। या कम से कम यह मेरी धारणा रही है कि यह मामला है। मुझे लगता है कि कोई सशर्त ब्रेकपॉइंट्स के माध्यम से ऐसा करने में सक्षम हो सकता है, लेकिन ग्रीन हिल्स डीबगर में "जंप ब्रेकपॉइंट" होता है जो आपको ब्रेकपॉइंट हिट होने पर कोड के हिस्सों को छोड़ देता है या शर्तों को सेट करता है। –

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