मैं सेंटोस रिपोजिटरी से मानक जीसीसी 4.4 पैकेज का उपयोग कर 64-बिट सेंटोस 5.8 पर एक स्थिर रूप से जुड़े 64-बिट सी ++ एप्लिकेशन का विकास कर रहा हूं। ऐसा लगता है कि मैं अपेक्षा से अधिक स्मृति का उपयोग कर रहा हूं, इसलिए मैंने मेमोरी उपयोग को प्रोफ़ाइल उपयोग करने के लिए मासफ का उपयोग करने की कोशिश की। मैं डिबग जानकारी के साथ तैयार की है और फिर से चलाने केवालग्रिंड का मासेफ टूल मेरे आवेदन को प्रोफाइल नहीं करेगा
valgrind --tool = निर्देशिका जहां MyProg रहता से पुंजक ./MyProg
। यह निम्नलिखित massif.out.XXXX उदाहरण के अलावा किसी भी परिणाम का उत्पादन नहीं करता है।
desc: (none)
cmd: ./MyProg
time_unit: i
#-----------
snapshot=0
#-----------
time=0
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=0
heap_tree=empty
ध्यान दें कि फ़ाइल की पूरी सामग्री है और मेरा प्रोग्राम कई मिनट तक चला सकता है।
मैंने वाल्ग्रिंड और मासफाई के लिए विभिन्न विकल्पों का कोई फायदा नहीं लिया है। मैंने माईप्रोग के पूर्ण पथ का उपयोग करने की भी कोशिश की, बस मामले में। मैंने वैलग्रींड (3.8.1) का सबसे हालिया स्थिर संस्करण डाउनलोड करने और उसी संकलन के साथ संकलन और चलाने (जैसे CentOS 3.5.0 का उपयोग कर रहा है) डाउनलोड करने का प्रयास किया है। एक मानसिक स्वास्थ्य की जांच के रूप में मैं
-l
valgrind --tool = पुंजक ls भाग गया और उम्मीद के रूप में यह गैर शून्य स्मृति के उपयोग के साथ कई स्नैपशॉट का उत्पादन किया।
मैंने उन खोजशब्दों के प्रत्येक संयोजन का उपयोग करके ऑनलाइन खोज करने का प्रयास किया है, लेकिन मुझे कोई भी समस्या नहीं मिली।
एक साइड नोट के रूप में, यदि उपयोगी सूचना है तो मैं valgrind के डिफ़ॉल्ट memcheck टूल का उपयोग करके एप्लिकेशन को सफलतापूर्वक प्रोफाइल कर सकता हूं।
क्या किसी को पता है कि Massif मेरे आवेदन को प्रोफ़ाइल करने में विफल क्यों होगा?
क्या आपका प्रोग्राम स्थैतिक रूप से जुड़ा हुआ है? यदि आप 'ldd ./MyProg' करते हैं, तो क्या यह साझा पुस्तकालयों का एक समूह सूचीबद्ध करता है, या यह कुछ भी प्रिंट नहीं करता है? –
यह स्थिर रूप से जुड़ा हुआ है। मैंने इसे स्पष्ट करने के लिए प्रश्न संपादित किया है। – Tyson