2011-09-14 8 views
17

मेरे पास एक लिनक्स x86 एप्लिकेशन है जो विभिन्न तृतीय-पक्ष साझा-ऑब्जेक्ट लाइब्रेरीज़ का उपयोग करता है। मुझे लगता है इन पुस्तकालयों स्मृति लीक कर रहे हैं (क्योंकि यह संभवतः मेरी कोड ;-)लिनक्स पर लीक खोजने के लिए valgrind (memcheck) के लिए वैकल्पिक?

मैं भरोसेमंद valgrind की कोशिश की नहीं हो सकता है, लेकिन यह एक भयानक मौत क्योंकि one of the third-party libraries is using an obscure x86 instruction कि valgrind doesn't implement मृत्यु हो गई।

मुझे a recommendation for DUMA मिला और मैंने कोशिश की (एलडी_PRELOAD तकनीक का उपयोग रन-टाइम में ड्यूमा लाने के लिए), लेकिन यह स्मृति पर एक मुक्त ऑपरेशन के बारे में शिकायत कर रहा था जिसे ड्यूमा के माध्यम से आवंटित नहीं किया गया था (लगभग निश्चित रूप से कुछ निर्माता द्वारा पहले उल्लिखित तृतीय-पक्ष पुस्तकालयों में से एक में एक स्थिर वस्तु का)।

क्या अन्य रन-टाइम-लिंक करने योग्य (या अन्यथा पुन: संकलन/रिलिकिंक की आवश्यकता नहीं है) उपकरण जो लिनक्स पर काम करेंगे?

उत्तर

5

TotalView debugger (या, अधिक सटीक, इसकी मेमेस्कोप) में एक सुविधा सेट है जो वालग्रिंड में से एक के समान है।

तुम भी Electric Fence (original author's link) की कोशिश कर सकते बफर अतिप्रवाह या स्पर्श के बाद से मुक्त मामलों के लिए (ड्यूमा की मूल) (लेकिन memleaks के लिए नहीं है, हालांकि)।

5

Dr. Memory एक प्रयास दें। यह DynamoRIO पर आधारित है और Valgrind के साथ कई सुविधाओं को साझा करता है।

+3

बस जोड़ना चाहता था कि यह केवल 32-बिट है। –

+0

@ संतोष तिवारी: मुझे ऐसा नहीं लगता है। मुझे लगता है कि आप कहने का क्या मतलब है कि आपके प्लेटफॉर्म के लिए बाइनरी पैकेज केवल एक विशेष मंच के लिए उपलब्ध हो सकते हैं। डायनेमोरीओ लचीला है और कुछ (64) प्लेटफार्मों पर भी काम करता है। – 0xC0000022L

+1

~~ डॉएम ~~ यह डॉ मेमोरी रिलीज 64-बिट अनुप्रयोगों का समर्थन नहीं करता है। –

0

Heapusage लिनक्स और मैकोज़ पर मेमोरी लीक खोजने के लिए एक सरल रन-टाइम टूल है। लीक के लिए आउटपुट लॉगिंग प्रारूप वैलग्रींड के समान है, लेकिन यह केवल निश्चित लीक लॉग करता है (यानी आवंटन समाप्त होने पर मुक्त नहीं किया जाता है)।

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

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