मेरा एप्लिकेशन सी # और सी ++ कोड का मिश्रण है। प्रारंभिक चरण सी ++ मॉड्यूल के दौरान COM (घटक ऑब्जेक्ट मॉडल) तंत्र के माध्यम से सी # लोड में लिखे स्टार्टअप मॉड्यूल। जब तक मैंने सी # भाग को एक डब्ल्यूसीएफ सेवा में जोड़ने का फैसला नहीं किया तब तक सभी ठीक से काम कर रहे थे। सभी डब्ल्यूसीएफ सेवा कॉल COM का उपयोग कर सी ++ कोड पर भेजे जाते हैं। कुछ नई विधियों को जोड़ने के बाद मैंने आउटपुट विंडो में मेमोरी लीक देखी। तो मैंने स्क्रीनशॉट से देखा जा सकता है जैसा कि सी ++ वर्ग के desctructor के लिए ब्रेकपॉइंट जोड़ा। इस बिंदु से अजीब चीजें होने लगती हैं। कार्यक्रम टूटने तक पहुंचने के बाद यह अप्रत्याशित रूप से दुर्घटनाग्रस्त हो जाता है। पहली अजीब चीज यह है कि जब मैं ब्रेकपॉइंट सेट किए बिना प्रोग्राम चलाता हूं तो यह कृपापूर्वक समाप्त होता है। दूसरी अजीब चीज यह है कि प्रोग्राम क्रैश होने का तरीका यह है कि यह डीबगर के बिना चल रहा था। "डीबगर में खोलें" बटन पर क्लिक करने के बाद (या ऐसा कुछ) मुझे त्रुटि संदेश मिलता है: "प्रोग्राम पहले ही डीबगर के तहत खोला गया है।" आउटपुट विंडो में कोई भी संदेश जो मुझे त्रुटि के स्रोत पर इंगित नहीं कर सकता, कोई संदिग्ध कोड नहीं। जब विनाशक को संदेश बॉक्स जोड़ना शुरू होता है तो यह दूसरे के अंश के लिए प्रदर्शित होता है और फिर पूरा एप्लिकेशन बंद हो जाता है (संदेश बॉक्स में प्रदर्शित किए गए संदेशों को पढ़ने के लिए उपयोगकर्ता अवसर जोड़ने के बिना)। किसी भी सुराग के लिए सख्त खोज।COM ऑब्जेक्ट विनाशक डीबगिंग करते समय अजीब दुर्घटना
पीएस समस्या तब होती है जब कम से कम एक बार wcf विधि को बुलाया जाता था। इस विशेष कॉल में प्रोग्राम प्रवाह को C++ स्तर पर भेजा गया था या नहीं, इस पर निर्भर नहीं है।
क्रैश – SpaceghostAli