2012-03-25 17 views
5

मैं सी # 4.0 (वीएस -2010) में एक आवेदन पर काम करता हूं, और मेरे पास एक बहुत अजीब स्थिति है। सभी टीमों से मुझे एक बग की सूचना मिली है और मैं हमेशा इसे पुन: पेश करने में असफल रहता हूं, जब तक कि अन्य डेवलपर्स में से एक ने मुझे निष्पादन योग्य पर डबल-क्लिक करने और वीएस -2010 से लॉन्च करने के बजाय बग के परिदृश्य का पालन करने के लिए कहा।विजुअल स्टूडियो के बीच एक निष्पादन योग्य लॉन्च करने और इसे लॉन्च करने के बीच अंतर?

कुछ शोध के बाद, मैंने पाया कि इस समस्या पर अधिकांश टिप्पणियां अनियंत्रित ढेर स्मृति और समान हैं, लेकिन सी ++ संदर्भ में हैं। मुझे पता है कि सी # एक त्रुटि उत्पन्न करता है अगर एक चर को अनियंत्रित छोड़ दिया गया है, तो यह समस्या नहीं है, शायद यह समस्या नहीं है।

दोनों बनाता है मेरी मशीन और उपयोगकर्ताओं की पर एक ही हैं, और मैं अब जानते हैं कि F5 (डिबगिंग के साथ शुरू करो) बड़ी समस्या पैदा नहीं करता है, जबकि Ctrl + F5 करता है। तो प्रश्न दोनों के बीच अंतर नहीं है (अन्य प्रश्नों को पहले से ही संबोधित किया गया है), बल्कि इसके बजाय: सी # प्रक्रिया में डीबगर को कैसे जोड़ सकते हैं, इसके व्यवहार को प्रभावित करते हैं ?!

कोड नेटवर्क पर एक कनेक्शन बनाता है।

उत्तर

7

तो सवाल यह है कि: सी # प्रक्रिया में डीबगर को कैसे जोड़ सकते हैं इसके व्यवहार को प्रभावित करते हैं ?!

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

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

+0

डीबगर में चलने वाले उपरोक्त मुद्दों के बारे में ध्यान दें, मेरी राय में बग का सबसे अधिक संभावित कारण यह है कि कोड यह स्पष्ट रूप से पता नहीं लगा रहा है कि यह एक डीबगर में चल रहा है। जेआईटी ऑप्टिमाइज़ेशन और कचरा संग्रह के मुद्दों को डिबग बिल्ड में बग के रूप में प्रकट होने की संभावना अधिक होगी और रिलीज बिल्ड में नहीं। – dotancohen

+0

[@ जोनस्केट, @ डॉटनकोहेन] मैं समस्याग्रस्त विधि के आधार पर संदेश बॉक्स बनाकर इस समस्या पर काम करने की कोशिश कर रहा था। मेरे पहले परीक्षण में, मैंने कोड की पहली पंक्ति से एक संदेश बॉक्स बनाया। समस्या फिर से दिखाई नहीं दी !! इसका कारण क्या हो सकता है ?? एक संदेश बॉक्स इतना अंतर कैसे बना सकता है ?! – OmarOthman

+0

@OmarOthman: * बहुत * आसानी से - एक संदेश बॉक्स * बहुत * आक्रामक है, मूल रूप से प्रभावित समय आदि के संदर्भ में। मैं कम आक्रामक लॉगिंग का उपयोग करने का सुझाव दूंगा ... आदर्श रूप से केवल समय पर फ़ाइल सिस्टम को छूने के लिए, प्रभाव को कम करने के लिए समय इत्यादि। –

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