2012-04-09 14 views
15

मैं लिनक्स के तहत ग्रहण CDT उपयोग कर रहा हूँ, किसी को भी है कि पर्यावरण के तहत एक अच्छा प्रोफाइलर की सिफारिश कर सकते हैं।लिनक्स ग्रहण CDT प्रोफाइलर

मैं भी सी ++ और बहु ​​धागा प्रोग्रामिंग करने के लिए नया हूँ, किसी को भी, कैसे मल्टी-थ्रेडेड आवेदन करें, जैसे, प्रदर्शन टोंटी के लिए क्या देखने के लिए के लिए रूपरेखा को चलाने के लिए पर कुछ सलाह की पेशकश कर सकते आदि

धन्यवाद ।

उत्तर

12

मैं अगर यह सबसे अच्छा विकल्प है पता नहीं है, लेकिन यह निश्चित रूप से स्पष्ट एक है: gprof। आपको बस प्रोजेक्ट गुणों में उस प्रोजेक्ट के लिए संकलन स्विच सेट करने की आवश्यकता है (> c/C++ build -> सेटिंग्स -> डिबगिंग)। जब आपने इस विकल्प के साथ प्रोग्राम संकलित किया है, तो आपको इसे चलाने की आवश्यकता है (जब तक कि सामान्य रूप से बाहर निकल न जाए)। यह प्रोफ़ाइल फ़ाइल उत्पन्न करता है (gmon.out)। अतिरिक्त प्लग-इन आप ग्रहण में स्थापित कर सकते हैं, कि gmon.out की सामग्री की परिकल्पना करती (-> स्थापित -> लिनक्स उपकरण -> GProf एकीकरण मदद करने के लिए जाना) है। एक बार जब आप प्लगइन स्थापित कर लेंगे तो बस जेनरेट की गई gmon.out फ़ाइल को खोलें।

+3

http://wiki.eclipse.org/Linux_Tools_Project/GProf/User_Guide –

+1

एक बात को देखो, यह है कि आप आप आवेदन Ctrl- का उपयोग कर बंद कर देते हैं सी (जैसे एक व्यक्ति आमतौर पर लिखने वाले सर्वर को बंद करता है) तो gmon.out फ़ाइल नहीं लिखी जाएगी। – kroiz

+0

यहां http://stackoverflow.com/questions/1030829/gprof-reports-no-time- संचित संबंधित प्रश्न है। किसी ने ध्यान दिया कि अगर एसडीडी ++ जैसी आश्रित पुस्तकालयों में से एक -जीपी के बिना निर्माण किया जाता है तो समय की जानकारी एकत्र नहीं की जा सकती है। क्या यह सच है? – Sergei

3

dbrank0 आपको लगता है कि इस परियोजना के लिए संकलन विकल्प (-pg) निर्धारित करने की आवश्यकता द्वारा उल्लेख किया है। गुण परियोजना के लिए जाओ -> C/C++ का निर्माण -> सेटिंग्स -> C++ कम्पाइलर -> डिबगिंग और जाँच gpof जानकारी उत्पन्न करते हैं। जब आप प्रोग्राम संकलित करते हैं (test_prof.c) आपको एक exe फ़ाइल मिल जाएगी (हमारे मामले test_prof में)।

$ ls 
test_gprof test_gprof.c 

और जब आप इसे चलाते हैं तो उसी निर्देशिका में उत्पन्न gmon.out फ़ाइल होगी।

$ ls 
gmon.out test_gprof test_gprof.c 

gprof उपकरण निष्पादन योग्य नाम और ऊपर जेनरेट तर्क के रूप में 'gmon.out' के साथ चलाया जाता है। यह एक विश्लेषण फ़ाइल उत्पन्न करता है जिसमें सभी वांछित प्रोफाइलिंग जानकारी होती है।

$ gprof test_gprof gmon.out > analysis.txt 

'विश्लेषण.txt' नाम की एक फ़ाइल जेनरेट की जाएगी जिसमें सभी प्रोफाइल जानकारी शामिल हैं और आसानी से पढ़ी जा सकती हैं। अधिक जानकारी के लिए GProf (शायद अन्य उपकरणों के साथ-साथ) के बारे में नोट करने के लिए http://www.thegeekstuff.com/2012/08/gprof-tutorial/

+0

हाय उमेर, यहाँ http://stackoverflow.com/questions/1030829/gprof-reports-no-time-accumulated संबंधित सवाल है। किसी ने ध्यान दिया कि अगर एसडीडी ++ जैसी आश्रित पुस्तकालयों में से एक -जीपी के बिना निर्माण किया जाता है तो समय की जानकारी एकत्र नहीं की जा सकती है। क्या आप इसकी पुष्टि या अस्वीकार कर सकते हैं, कृपया? – Sergei