- 2008 से पोस्ट के अनुसार (मुझे अभी यह नहीं मिल रहा है), glibc heap check बहुप्रचारित वातावरण में काम नहीं करता है। क्या यह अभी भी 2010 में स्थिति है?
- डिफ़ॉल्ट रूप से ढेर जांच सक्षम है? (जीसीसी 4.1.2)? मैं MALLOC_CHECK_ सेट नहीं करता हूं, mcheck() को कॉल करने से अवगत नहीं हूं, लेकिन फिर भी कभी-कभी बैकट्रैक के साथ डबल फ्री ग्लिब त्रुटि प्राप्त होती है। शायद यह कुछ संकलन ध्वज द्वारा सक्षम है?
उत्तर
डिफ़ॉल्ट रूप से, MALLOC_CHECK_ या mcheck(), glibc कुछ थोड़ा जांच करता है कि प्रदर्शन को चोट नहीं करता है, दो बार मुक्त बुला() एक ही स्मृति हिस्सा पर की तरह होता है का उपयोग किए बिना। यही कारण है कि आप इनमें से कुछ संदेश प्राप्त कर रहे हैं, लेकिन आपके पास मॉलोक विकल्प एपीआई द्वारा प्रदान किए गए सभी संदेश नहीं होंगे, जिन्हें आप MALLOC_CHECK_ (जो कि अधिक परीक्षण कर रहे हैं, लेकिन बहुत अधिक सीपीयू गहन भी कर रहे हैं) का उपयोग कर प्राप्त कर सकते हैं। आप इसे एक त्रुटि ट्रिगर करके जांच सकते हैं, और इसे malloc_check_ के साथ और बिना परीक्षण कर सकते हैं। उदाहरण के लिए, एक साधारण डबल-फ्री() के लिए, जब भी मैं MALLOC_CHECK_ सेट करता हूं, तो मुझे "डबल फ्री या भ्रष्टाचार (शीर्ष)" या "मुक्त(): अमान्य सूचक" त्रुटियां मिलती हैं।
1/प्रश्न का उत्तर देने के लिए, mcheck malloc hooks पर निर्भर करता है क्योंकि वे मौजूद हैं (जैसे 15 वर्ष), और वे थ्रेड सुरक्षित होने का इरादा नहीं रखते हैं।
सूत्रों का कहना है: glibc/malloc/malloc.c, http://sourceware.org/bugzilla/show_bug.cgi?id=9939
- 1. जावा लॉकस्परपोर्ट मेमोरी संगति
- 2. glibc फ़ंक्शन?
- 3. valgrind glibc
- 4. glibc बैकट्रैक -
- 5. glibc और एसएसई कार्यक्षमता
- 6. जीसीसी/ld glibc.2.6
- 7. glibc, glib और gnulib
- 8. कॉल गेटिड बुद्धिमान glibc
- 9. मैं लेकिन glibc
- 10. लिंक glibc स्थिर लेकिन जीसीसी
- 11. अपनी खुद की glibc संकलित
- 12. प्राथमिकता क्यूई/हीप अपडेट
- 13. ऐपडोमेन्स और जीसी हीप
- 14. जावा हीप हार्ड ड्राइव
- 15. एंड्रॉइड हीप मेमोरी बढ़ाना
- 16. हीप मेमोरी समस्याएं
- 17. जेवीएम - हीप और स्टैक
- 18. सी ++ हीप भ्रष्टाचार
- 19. एंड्रॉइड हीप फ्रैगमेंटेशन रणनीति?
- 20. java.lang.OutOfMemoryError: जावा हीप स्पेस
- 21. क्रिटिक मेरे हीप डीबगर
- 22. जावा वेबस्टार्ट हीप डंप
- 23. जावा हीप डंप अनुमतियां
- 24. मल्टीथ्रेडेड हीप प्रबंधन
- 25. केवल हीप क्षेत्र
- 26. जेवीएम हीप सेटिंग पैटर्न
- 27. क्या जावा हीप डंप में थ्रेड स्टैक्स
- 28. पर्म स्पेस बनाम हीप स्पेस
- 29. प्रोसेस मेमोरी बनाम हीप - जेवीएम
- 30. मेमोरी से जावा हीप स्पेस
उपयोग valgrind और सवाल कुछ हद तक विवादास्पद हो जाता है। http://valgrind.org/ – msw
@msw valgrind अच्छा है और वे टकरा नहीं जाते हैं। MALLOC_CHECK_ वाल्ग्रिंड की तुलना में बहुत हल्का है और इसे सेट करने के बाद, किसी भी क्रिया frp, उपयोगकर्ता (उदाहरण के लिए lvalgrind के माध्यम से चल रहा ऐप, valgrind के आउटपुट की जांच) की आवश्यकता नहीं है। यह valgrind के साथ स्थिति नहीं है। किसी भी तरह, मेरा सवाल valgrind के बारे में नहीं था :) – dimba