2011-02-02 16 views
11

से किसी भी अनुप्रयोग को डीबग करने के दौरान मुझे निम्न त्रुटि मिल रही है।सीएलआर COM संदर्भ 0x3b2d70 से COM संदर्भ

सीएलआर COM संदर्भ 0x3b2d70 से COM संदर्भ 0x3b2ee0 में 60 सेकंड के लिए संक्रमण करने में असमर्थ रहा है। गंतव्य संदर्भ/अपार्टमेंट का स्वामित्व वाला धागा संभवतः एक गैर पंपिंग प्रतीक्षा कर रहा है या विंडोज संदेशों को पंप किए बिना बहुत लंबे समय तक चलने वाले ऑपरेशन को संसाधित कर रहा है। इस स्थिति में आम तौर पर नकारात्मक प्रदर्शन प्रभाव होता है और यह भी समय के साथ लगातार गैर-प्रतिक्रियाशील या मेमोरी उपयोग जमा हो रहा है। इस समस्या से बचने के लिए, सभी एकल थ्रेडेड अपार्टमेंट (एसटीए) थ्रेडों को पंपिंग प्रतीक्षा प्राइमेटिव्स (जैसे CoWaitForMultipleHandles) का उपयोग करना चाहिए और नियमित रूप से लंबे समय तक चलने वाले संचालन के दौरान संदेशों को पंप करना चाहिए।

सिस्टम इस त्रुटि को क्यों फेंकता है।

+1

मैं सुझाव दूंगा कि आप अपने प्रश्न में अधिक जानकारी जोड़ सकते हैं शायद त्रुटि को होने वाले कोड को पोस्ट करना। –

उत्तर

13

मैं समाधान

Debug-> Exceptions-> प्रबंधित डिबगिंग सहायकों के तहत ContextSwitchDeadlock अनचेक करने के लिए आवश्यकता हो गया।

ContextSwitchDeadlock को अनचेक करने के बाद त्रुटि को फेंकना नहीं है।

+50

हां, क्योंकि वीएस ** इसे छुपाता है **। इसका मतलब यह नहीं है कि समस्या चली गई है! – Odys

+0

@odyodyodys मुझे विशेष रूप से खुशी है कि मैंने अपवाद को छुपाया नहीं है क्योंकि अपवाद उत्पन्न करने वाला मुद्दा मेरे ऐप को स्प्लैश स्क्रीन के दौरान किसी भी स्पष्ट कारण के लिए 60 सेकंड तक इंतजार कर रहा था। आप उन बग को ठीक नहीं कर सकते जिन्हें आप नहीं ढूंढ सकते हैं। – erodewald

+2

यह जानने से भी बदतर बात यह है कि क्यों ** ** ** काम नहीं कर रहा है यह जानना नहीं है कि क्यों ** ** ** काम कर रहा है। –

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