2009-11-30 13 views
12

F10 के माध्यम से मेरी सी # कोड लाइन के माध्यम से कदम उठाने पर, अगली पंक्ति में जाने के लिए यह एक सेकंड में डीबगर लेता है।विजुअल स्टूडियो 2008: अगली पंक्ति में कदम बहुत धीमा है जब प्रबंधित कोड डीबगिंग

मैंने सभी घड़ियों और ब्रेकपॉइंट्स को हटाने का प्रयास किया है, लेकिन इससे कोई फर्क नहीं पड़ता।

क्या यह सामान्य है? यह अब काफी समय से ऐसा रहा है, इसलिए मुझे यह भी याद नहीं है कि यह कभी बेहतर था या नहीं। मेरा विकास कंप्यूटर एक क्वाड-कोर मशीन है जिसमें कोई पृष्ठभूमि कार्य गतिविधि नहीं है और बहुत सी रैम शेष है।

यदि यह सामान्य नहीं है, तो मैं और क्या प्रयास कर सकता हूं? अभी भी काम करना ठीक है, लेकिन कम सुस्त उपयोगकर्ता इंटरफ़ेस बहुत अच्छा होगा ...

उत्तर

13

क्या हो रहा है कि आपके पास कॉल स्टैक फ्रेम में एक चर है जिसमें एक महंगा है। ToString विधि। 2008 में, कॉल स्टैक विंडो के लिए डेटा हर कदम पर पुनर्निर्मित किया गया है चाहे इस पर खिड़की वास्तव में दिखाई दे या नहीं। इस विंडो के निर्माण का हिस्सा कॉल करेगा। पैरामीटर सूची में दिखाई देने वाले मानों पर टॉस्ट्रिंग करें यदि उनके पास ओवरराइड है। ToString। निहित अक्षम करने का प्रयास करें। कॉल करने के लिए कॉल करें और देखें कि क्या समस्या हल हो रही है।

  • उपकरण - > विकल्प - > डीबगर
  • सही का निशान हटाएँ
+1

विजुअल स्टूडियो 2010 में कॉल स्टैक विंडो केवल वास्तव में दिखाई देने पर पुनर्निर्मित की जाती है। निहित ToString कॉल को अक्षम करने का एक विकल्प कॉल स्टैक विंडो पर राइट-क्लिक करना है और 'प्रदर्शन पैरामीटर मान' को अनचेक करना है। –

+0

@ फिल, यह एक प्रदर्शन परिवर्तन था जिसे हमने बीटा 2 से पहले बनाया था। – JaredPar

+0

धन्यवाद !! मेरी समस्या वास्तव में मेरे वर्गों में से एक पर अत्यधिक गहन होने पर डीबगर डिस्प्ले एट्रिब्यूट के कारण हुई थी। मैंने तर्क को ToString() विधि में स्थानांतरित कर दिया और यह बहुत तेज था। यह जानकर अच्छा लगा कि यह संपत्ति मूल्य गणना थी जो चीजों को धीमा कर रही थी। धन्यवाद!! – Doug

0

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

+1

नहीं, मैंने यह सुनिश्चित करने के लिए सभी घड़ियों को पहले ही हटा दिया है कि यह समस्या नहीं है। –

5

मुझे पता चला है कि अगर आपके पास अप्रबंधित कोड को डीबग करने का विकल्प है, तो डीबगर को लाइनों के बीच कदम उठाने में कुछ समय लग सकता है भले ही आप केवल प्रबंधित कोड डिबग कर रहे हों। उस विकल्प को बंद करने का प्रयास करें (प्रोजेक्ट> गुण> डीबग> डिबगर्स सक्षम करें> अप्रबंधित कोड डीबगिंग सक्षम करें)।

+0

+1 पिछली बार जब मैंने विजुअल स्टूडियो में धीमी गति से कदम उठाया तो यह कारण –

+0

बहुत अच्छा लगता है, लेकिन मुझे यह विकल्प कहां मिल सकता है? मैंने इसे अपने roject सेटिंग्स में कहीं भी नहीं देखा है। –

+0

मेरा मानना ​​है कि यह डिबगिंग समूह के तहत है, लेकिन मैं घर पर हूं और जांच नहीं कर सकता। साथ ही, यह विकल्प विजुअल सी # एक्सप्रेस में उपलब्ध नहीं हो सकता है। –

1

मैं एक बार धीमी गति से डिबगिंग के रूप में मैं एक नेटवर्क पर pdb फ़ाइलें देखने के लिए वी.एस. की स्थापना की अनुभवी "अंतर्निहित .ToString कॉल सक्षम करें" साझा करें जो अब अस्तित्व में नहीं था।

यहाँ की जांच: उपकरण - विकल्प - डिबगिंग - प्रतीक - प्रतीक फ़ाइल (.pdb) स्थान

1

मैं इस तरह की समस्या के बारे में सुना है, तो "ऑटो" खिड़की खुली है। इसे बंद करने का प्रयास करें और देखें कि आपका प्रदर्शन बेहतर है या नहीं।

यदि आपके पास पहले से नहीं है, तो आपको शायद "Visual Studio 2008 SP1 debugging and breakpoint" पैच भी इंस्टॉल करना चाहिए। ध्यान दें कि यह पैच एसपी 1 के शीर्ष पर चला जाता है। पैच के लिए दस्तावेज़ विशेष रूप से उस धीमेपन को संबोधित नहीं करते हैं जो आप देख रहे हैं, लेकिन यह एक बहुत बड़ा पैच है, और आप भाग्यशाली हो सकते हैं।

3

मेरे मामले में, "एक प्रक्रिया टूटने पर सभी प्रक्रियाओं को तोड़ने" को अक्षम करने (उपकरण/विकल्प/डीबगर) ने समय को 2-3 सेकंड से दूसरे चरण में "चरण" तक घटा दिया।

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

+0

मुझे एक ही समस्या थी। धन्यवाद। मैं इसकी जांच कर रहा हूँ। –

+0

यह वीएस -2010 में मेरी धीमी डीबगिंग समस्या को ठीक करता है। – Logan

0

मुझे फिर से डी # डीबगिंग शुरू करने में सक्षम होने से पहले सी # डीबगिंग रोकने के बाद 10 सेकंड की देरी का सामना करना पड़ रहा था। VS2008 इस समय के दौरान कुछ भी क्लिक करने योग्य नहीं होगा। Project Properties -> Debug में विजुअल स्टूडियो होस्टिंग प्रक्रिया को अक्षम करने के बाद अब 0 सेकंड देरी है।

1

Tools > Options > Debugging > General में पता-स्तर डीबगिंग विकल्प सक्षम करें।
यह मेरे लिए एक बड़ा अंतर बना दिया।

4

मैंने उपर्युक्त सभी की कोशिश की। 'स्रोत में थ्रेड दिखाएं' बटन को अनचेक करना इसे ठीक करता है।

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