2010-02-16 26 views
7

मेरा ऐप की रूपरेखा के मानक लिनक्स तरीका है:मैकोज़क्स पर प्रोफाइलिंग जी ++ ऐप?

1) compile with g++ -pg 
2) run prog 
3) gprof 

जाहिर gprof MacOSX 10.5 पर पैंट है, और मैं शार्क का उपयोग करना चाहिए। सभी ट्यूटोरियल जिन्हें मैंने पाया है शार्क में एक्सकोड शामिल है (जबकि मेरा निर्माण मेकफ़ील्स और जी ++ के साथ किया जाता है)।

क्या कोई g ++ के साथ बनाए गए ऐप पर शार्क का उपयोग करने के लिए चरण-दर-चरण निर्देश पोस्ट कर सकता है? कहो की तरह कुछ: इस तरह के gprof रूप

int main() { while(1); } 

g++ blah.cpp -o blah; do I need to give it more command line arguments? 

how do I use shark here? 
+0

क्या आपने डीट्रैस का उपयोग करने पर विचार किया (जीयूआई प्रोग्राम के साथ यंत्र कहा जाता है)? –

उत्तर

3

Instrumented रूपरेखा विशेष रूप से उपयोगी नहीं है जब तक आप वास्तव में सिर्फ कॉल रेखांकन और कहा कि कार्यों कहा जाता है समय की संख्या के बारे में जानना चाहते हैं। प्रदर्शन विश्लेषण के लिए अधिक उपयोगी एक नमूना प्रोफाइलर है, और इसके लिए ऐप्पल के शार्क टूल (सीएचयूडी का हिस्सा) सबसे अच्छा है।

आपको वास्तव में शार्क के तहत प्रोफाइलिंग के लिए एक ऐप बनाने के लिए एक्सकोड का उपयोग करने की आवश्यकता नहीं है - मेरे पास मेकफ़ाइल के साथ निर्मित कमांड लाइन टूल्स हैं जिन्हें मैं शार्क के साथ हर समय प्रोफाइल करता हूं। आप या तो अपने कोड के भीतर से शार्क को स्वचालित रूप से ट्रिगर कर सकते हैं (इसके लिए कुछ अलग-अलग एपीआई हैं) या आप "chudRemoteCtrl" कमांड लाइन टूल (man chudRemoteCtrl) का उपयोग कर सकते हैं या आप निष्पादन योग्य पथ सेट करने के लिए शार्क में लॉन्च विकल्प कॉन्फ़िगर कर सकते हैं , काम करने वाली निर्देशिका, कमांड लाइन तर्क, आदि, और दूर आप जाओ। सुनिश्चित करें कि आप -g के साथ अपना ऐप बनाएं ताकि शार्क अलग-अलग ऑब्जेक्ट कोड की बजाय स्रोत कोड प्रदर्शित कर सके।

Shark configuration for command line tool http://www.freeimagehosting.net/uploads/386737a1fa.jpg

1

यहाँ एक relevant thread

दुर्भाग्य से मैं कैसे मैक ओएस एक्स पर आदेश पंक्ति पर यह करने के लिए नहीं जानता, और मैं 10.6 ... चल रहा हूँ मैं आमतौर पर करते हैं एक्सकोड जादू खत्म हो गया: -एस