2009-05-23 19 views
8

मेरे पास एक vb.net प्रोजेक्ट है जो कभी-कभी, आईडीई में चलते समय अचानक लटकता है। आम तौर पर यह कोई समस्या नहीं होगी। बस 'रोकें' दबाएं, वर्तमान में चल रहे धागे को देखें, और डेडलॉक ढूंढें (या जो भी हो)।डीबगिंग के दौरान विजुअल स्टूडियो 2008 को लटकने का कारण क्या हो सकता है?

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

तो क्या इस व्यवहार के लिए कोई आम कारण हैं? मुझे क्या खोजना चाहिए?

+1

क्या आपको इसके लिए कोई समाधान मिला? मैं ठीक उसी स्थिति से फंस गया हूं ..... – Roey

उत्तर

-1

मैं डीबग किए जाने वाले प्रोग्राम के कोड की जांच करता हूं, मुझे लगता है कि कोड में एक अनंत लूप या रेस कंडीशन हो सकती है जिसे आप डीबग करने का प्रयास कर रहे हैं। अतीत में यह मेरे लिए मामला रहा है, खासकर एक सिंगल कोर लैपटॉप पर जो मैंने किया था। क्या आप इस बारे में कोई जानकारी दे सकते हैं कि जब आप रोकते हैं तो प्रोग्राम में कहां निष्पादन होता है?

+0

वैसे मैं एक प्रकार का संदेश-पासिंग प्रतिमान का उपयोग कर रहा हूं। प्रत्येक 'सही ढंग से लॉक करने के लिए जटिल' वर्ग में एक कॉल-कतार है जिसे अन्य वर्गों को कुछ भी करने के लिए कहने के लिए उपयोग करना चाहिए। कार्यक्रम एक छोटा गेम सर्वर है। जब यह ताले हो जाता है, तो प्रोसेस ऑब्जेक्ट पर डेटा प्राप्त करने वाले कई सॉकेट होते हैं, जो यूआई को कुछ लॉगिंग जानकारी प्रदर्शित करते हैं और सॉकेट को डेटा वापस लिखते हैं। यही मुझे भ्रमित करता है: यह यूआई को अवरुद्ध नहीं करना चाहिए, क्योंकि मैं ताले रखने से बचने की कोशिश करता हूं। ऐसा नहीं है कि मुझे एक अनंत कतार लूप मिल जाए, क्योंकि मेरा सीपीयू स्पाइक नहीं करता है। –

0

हॉटफिक्सेस और सर्विस पैक की जांच करें। मैंने .NET प्रोग्रामिंग और डिबगिंग हैंग से संबंधित एक बग देखा है।

3

एक दृश्य स्टूडियो समस्या के लिए एक विशिष्ट ठीक ढूँढना मुश्किल हो सकता है: (कभी कभी तों वी.एस. जब 64-बिट ओएस पर सी ++ 32-बिट क्षुधा डीबगिंग मेरे लिए लटका हुआ है।): http://social.msdn.microsoft.com/Search/en-US/?query=visual%20studio%202008%20hang&ac=3

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

यहाँ जब दृश्य स्टूडियो अभिनय शुरू होता है कुछ अन्य चीजें हैं जो मैं करना चाहता हूँ कर रहे हैं:

  1. वर्ष breakpoints हटाएँ और चर देखते हैं।
  2. दृश्य स्टूडियो नहीं चल रहा है, इंटेलिसेंस फ़ाइल (.ncb)
  3. हटाएं समाधान को साफ करें और फिर सभी कोड का पुनर्निर्माण करें।
6

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

+0

नरक, मैंने एप्लिकेशन को डिबग करने के दौरान क्या गलत है, यह निर्धारित करने में बहुत समय लगाया है (SetWindowsHookEx का उपयोग करके)। पूरी प्रणाली दूसरे या दो प्रत्येक डीबगर चरण के लिए लटकती है। हुक कॉल को अक्षम करना चाल बनाता है (थोड़ा नुकसान: हुक को डिबगिंग के दौरान काम करने की उम्मीद नहीं की जा सकती है)। इस टिप के लिए धन्यवाद! – sharpener

+0

यह समझाएगा ... मैं एक एक्सेल ऐड-इन के लिए WPF का उपयोग कर एक COM अनुप्रयोग के साथ काम कर रहा हूं। डीबगर को ब्रेकपॉइंट हिट करने में कुछ मिनट लग सकते हैं, एक अपवाद दिखाया जा सकता है, या यहां तक ​​कि डीबगिंग भी रोक सकता है। काफी निराशाजनक। –

0

डीबग का उपयोग करके, मुझे बस एक बहुत ही समान मुद्दा (वीएस निष्पादन तोड़ने में विफल रहता है) -> सभी ब्रेकपॉइंट्स को हटाएं इस मुद्दे को हल करें।

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