2009-07-29 21 views
14

मेरा सी # डीबगर ठीक से काम नहीं कर रहा है। यह कभी-कभी ब्रेक पॉइंट और कोड की रेखा को छोड़ देता है। मैंने कॉन्फ़िगरेशन प्रबंधक की जांच की है। मैंने अपनी परियोजनाओं को नई समाधान फ़ाइलों में जोड़ने का भी प्रयास किया है। क्या कोई मेरी सहायता कर सकता है?मेरा सी # डीबगर ब्रेकपॉइंट्स क्यों छोड़ता है?

+0

अनुकूलन अक्षम हैं? डीबग या रिलीज? – Guillaume

+1

'कभी-कभी' क्या होता है? –

+0

मैं अनुकूलन कैसे देख सकता हूं ??? कुछ बार इसका मतलब है कि जब भी मैं डीबगर का उपयोग करता हूं तो यह कुछ लाइनों के माध्यम से जाने के बाद छोड़ देगा –

उत्तर

8

सुनिश्चित करें कि अनुकूलन अक्षम हैं (यह डीबग कॉन्फ़िगरेशन के लिए डिफॉट है, लेकिन वे रिलीज कॉन्फ़िगरेशन में सक्षम हैं)। कंपाइलर अनुकूलन डीबगर के साथ गड़बड़ कर सकते हैं ...

+0

मैं कंपाइलर ऑप्टिमाइज़ेशन –

+0

कैसे समायोजित कर सकता हूं यदि आप विजुअल स्टूडियो का उपयोग कर रहे हैं: समाधान-एक्सप्लोरर में प्रोजेक्ट पर राइट-क्लिक करें, फिर "बिल्ड" टैब का चयन करें। "कोड अनुकूलित करें" नामक एक चेकबॉक्स होना चाहिए। (कम से कम, यह वीएस 2005 और 2008 पर लागू होता है। मुझे पिछले संस्करणों के बारे में पता नहीं है)। – Odrade

5

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

+0

मैं समाधान में अलग-अलग परियोजनाओं को संकलित कर रहा हूं लेकिन अभी भी एक ही समस्या –

1

ऐसा लगता है जैसे आपका स्रोत कोड पीडीबी फाइलों के साथ सिंक्रनाइज़ नहीं है। सबसे आसान समाधान समाधान को साफ करना है (जो बिन फ़ोल्डर से आपके सभी डीएल को हटा देता है)। पुन: संकलित करें, और फिर फिर से कदम उठाने का प्रयास करें।

यदि यह अभी भी विफल रहता है, तो समाधान बंद करने और "obj" फ़ोल्डर्स को हटाने का प्रयास करें। और फिर पुन: प्रयास करें।

और यह भी जाँच आप डिबग मोड में संकलन कर रहे हैं - कुछ मैं अक्सर किया है ("कारण है कि यह ?! के माध्यम से आगे बढ़ नहीं है") नहीं मिल रहा है को तोड़ने बिंदु

+0

मैंने कोशिश की है लेकिन अभी भी एक विस्तृत उत्तर के लिए –

23

मेरे डिबगिंग चेकलिस्ट:

  • अपने सही कोड प्रकार का उपयोग प्रक्रिया के लिए संलग्न सुनिश्चित करें - अगर आपकी प्रक्रिया दोनों अप्रबंधित है और प्रबंधित कोड तो, आप के लिए काम करने के लिए स्पष्ट रूप से यह कोड किस तरह अपने
  • डिबग करने के लिए कोशिश कर रहा है "ऑटो" पर भरोसा करते हैं न
  • Goto modu लेस विंडो (डीबग -> विंडोज़ -> मॉड्यूल, आपको इसे "कस्टमाइज़ करें ..." मेनू में सक्षम करने की आवश्यकता हो सकती है
  • यह सुनिश्चित करने के लिए जांचें कि असेंबली आपके डीबग करने की कोशिश कर रहा है, और वह प्रतीक लोड हो गए हैं - अगर उन्हें लोड नहीं किया गया है तो उस मॉड्यूल पर राइट क्लिक करें और "लोड प्रतीकों" का चयन करें
  • अपनी कोड फ़ाइल खोलें और अपना ब्रेकपॉइंट रखें - यदि यह छोटे चेतावनी प्रतीक के साथ दिखाई देता है तो देखें और देखें कि यह क्या कहता है,
  • आपको "टूल्स -> विकल्प -> डीबगिंग -> सामान्य" और अनटिक करने की आवश्यकता हो सकती है "बस मेरा कोड सक्षम करें (केवल प्रबंधित)"
  • आप "मूल संस्करणों को बिल्कुल सटीक रूप से मिलान करने के लिए स्रोत फ़ाइलों की आवश्यकता" को अनचेक करना भी चाहेंगे , अगर आपको लगता है कि आपके स्रोत स्लेज हो सकते हैं बाहर tly (हालांकि सावधान रहना, के रूप में यह है, तो आप पूरी तरह से गलत स्रोतों से डिबगिंग को जन्म दे सकता बहुत भ्रमित कर सकते जो)

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

+0

thanx की समस्या है। मैंने यह सब कोशिश की है लेकिन अभी भी एक ही प्रबल है। –

+3

"बस मेरा कोड ..." को अक्षम करना मेरे लिए यह किया। धन्यवाद। –

+0

ग्रेट लिस्ट। मेरी मदद की – Arnej65

1

यदि संपूर्ण विधियों को छोड़ दिया जा रहा है, तो स्रोत को देखें और देखें कि सिस्टम। डायग्नोस्टिक्स.डिबगरस्टेपथ्रूएट्रिब्यूट विशेषता मौजूद है या नहीं।

नाम के बावजूद, यह विधि के माध्यम से कदम से डीबगर रोकता है।

+0

कोई भी मैथोड के बीच से कुछ समय नहीं छोड़ता है और कुछ बार पूरा गणित को छोड़ देता है। –

+0

शानदार! मैंने सोचा कि मैं पागल हो रहा था जब एक्सएसडी से उत्पन्न कक्षा में एक कस्टम विधि जोड़ा गया था डीबग नहीं करना चाहता था। कारण यह था कि 'xsd.exe' ने इस विशेषता के साथ उत्पन्न कोड को सजाया। एफ 5 से पहले बनाए गए ब्रेकपॉइंट कभी-कभी हिट हो जाते हैं, लेकिन नए ब्रेकपॉइंट्स नहीं, और हमेशा नहीं। – ajeh

1

यदि कम से कम कभी-कभी ब्रेक पॉइंट मारा जाता है तो इसका मतलब है कि सभी सेटिंग्स शायद सबसे अधिक ठीक हैं।डिबगर (कम से कम वी.एस. डिबगर के लिए संपत्ति मूल्यांकन के दौरान breakpoints को छोड़ देता है) या किसी जासूसी उपकरणों के द्वारा संपत्ति मूल्यांकन (लेकिन इन आमतौर पर डिबगर द्वारा पकड़ कर रहे हैं:

लापता हिट, कुछ साइड इफेक्ट की वजह से किया जा सकता है, उदाहरण के लिए)।

यदि आपको लगता है कि यह मामला हो सकता है, तो जासूसी उपकरण और disable the property evaluation by the debugger बंद करें।

यह कभी-कभी पर्याप्त नहीं हो सकता है, उदाहरण के लिए: यदि आपकी संपत्ति संग्रह लौटाती है, उदाहरण प्रदर्शित करना एक Count() संपत्ति का मूल्यांकन करेगा - इसलिए घड़ी खिड़कियों, आदि से संपत्ति के सभी संदर्भों को भी हटाएं।

1

यह मेरे लिए वीएस 2017 में काम करता है, टूल्स> विकल्प पर जाएं विकल्प विकल्प के तहत डिबगिंग सेक्शन पर जाएं। सक्षम करें - ".NET Framework स्रोत स्टेपिंग सक्षम करें"

1

"प्रोजेक्ट प्रॉपर्टीज/बिल्ड/ऑप्टिमाइज़ कोड" को अक्षम करने के लिए मेरे लिए काम किया गया।

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