2009-12-10 10 views
7

पर खराब मेमोरी एक्सेस का पता लगाएं लिनक्स, फ्रीबीएसडी और अन्य सिस्टम पर मेरे पास अमान्य रीड और इसी तरह की मेमोरी त्रुटियों की जांच के लिए वालग्रिंड है। मैं वास्तव में valgrind प्यार करता हूँ। अब मुझे सोलारिस/ओपनसोलारिस पर कोड का परीक्षण करना है और वहां अमान्य पढ़ने/लिखने के बारे में जानकारी प्राप्त करने का कोई तरीका नहीं मिल सकता है (या बेहतर ;-)) वहां वाल्ग्रिंड के रूप में।सोलारिस

नेट पर इसकी खोज करते समय मुझे libumem के संदर्भ मिलते हैं, लेकिन मुझे केवल स्मृति रिसाव के बारे में रिपोर्ट मिलती है, अमान्य पहुंच नहीं। मैं क्या खो रहा हूँ?

उत्तर

6

सूर्य स्टूडियो कंपाइलर्स के साथ शामिल डीबीएक्स में "रन टाइम चेकिंग" सुविधा (check उपसमंद) में मेमोरी एक्सेस चेकिंग समर्थन शामिल है। देखें:

संबंधित "सूर्य मेमोरी त्रुटि डिस्कवरी उपकरण" http://cooltools.sunsource.net/discover/

+0

एचएम, मैं वहां गया था और भूल गया था ... अब बेचेक रैपर के साथ खेल रहा हूं और इसे अपने स्वचालित परीक्षण सूट में प्राप्त करने की कोशिश कर रहा हूं। – johannes

+0

अब एक [प्रयोगात्मक/आंशिक बंदरगाह का सोलारिस] (https://bitbucket.org/setupji/valgrind-solaris) है जो छात्र द्वारा उनके [मास्टर थीसिस प्रोजेक्ट] के हिस्से के रूप में बनाया गया था (https://dip.felk.cvut.cz/browse/pdfcache/pavlupe1_2012dipl.pdf)। – alanc

1

watchmalloc एक बहुत ही उपयोगी लाइब्रेरी है जिसे आपके प्रोग्राम के लिए गतिशील रूप से लोड किया जा सकता है (आमतौर पर पुन: कंपाइलिंग की आवश्यकता नहीं होती है) और फिर सभी सामान्य रूप से समस्याग्रस्त मेमोरी स्थानों, जैसे मुक्त क्षेत्रों या आवंटित स्मृति ब्लॉक के बाद घड़ी बिंदु सेट करता है। यदि आपका प्रोग्राम इन अमान्य क्षेत्रों में से किसी एक को एक्सेस करता है तो यह संकेत मिलता है और आप इसे डीबगर में देख सकते हैं।

कॉन्फ़िगरेशन समस्याग्रस्त क्षेत्रों के आधार पर केवल लिखने के लिए, या पढ़ने के लिए भी देखा जा सकता है।

1

से भी उपलब्ध है के बाद से संस्करण 3.11.0, वेलग्रिंड करता है Solaris पर चलाओ। Release Notes और Supported Platforms देखें।

दरअसल, 86/सोलारिस और amd64/सोलारिस अब समर्थित है। के लिए समर्थन sparc/Solaris अभी भी काम में है।

+0

बस उल्लेख करने के लिए, आपको कम से कम Solaris 11. होना चाहिए। विशेष रूप से, Solaris 10.X समर्थित नहीं है। – marol

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