अनवांटेड C / C ++ कोड में, मेमोरी लीक का पता लगाने के लिए सर्वोत्तम अभ्यास क्या हैं? और कोडिंग दिशानिर्देशों से बचने के लिए? (जैसे कि यह इतना आसान है;)
हमने अतीत में थोड़ा मूर्खतापूर्ण तरीके से उपयोग किया है: प्रत्येक मेमोरी आवंटन कॉल के लिए एक काउंटर वेतन वृद्धि और मुक्त करते समय वेतन वृद्धि। कार्यक्रम के अंत में, काउंटर मूल्य शून्य होना चाहिए।
मुझे पता है कि यह एक शानदार तरीका नहीं है और कुछ कैच हैं। (उदाहरण के लिए, यदि आप मेमोरी को फ्री कर रहे हैं जिसे एक प्लेटफॉर्म एपीआई कॉल द्वारा आवंटित किया गया था, तो आपकी आवंटन संख्या आपके फ्रीजिंग काउंट से बिल्कुल मेल नहीं खाएगी। निश्चित रूप से, हमने एपीआई को कॉल किया था, जब मेमोरी आवंटित की गई थी।
मैं आपके अनुभवों, सुझावों और शायद कुछ उपकरणों के संदर्भों की अपेक्षा कर रहा हूं जो इसे सरल बनाते हैं।