2011-01-13 6 views
8

मैं आईफोन सिम्युलेटर का उपयोग करके अपना कोड प्रोफाइल करने का प्रयास कर रहा हूं। मैंने सक्षम किया है टेस्ट कवरेज फ़ाइल और इंस्ट्रूमेंट प्रोग्राम फ़्लो और -lgcov लिंकर झंडे में जोड़ा गया। मैंने जो कुछ भी पढ़ा है, उसके अनुसार सेटअप के मामले में मुझे बस इतना करना चाहिए।आईफोन: जीजीडीए प्रोफाइलिंग फाइलों को उत्पन्न करने के लिए सिम्युलेटर नहीं मिल सकता है

अद्यतन: उत्पन्न टेस्ट कवरेज फ़ाइल चलाता है -ftest-कवरेज झंडा और साधन कार्यक्रम प्रवाह चलाता है -fprofile-आर्क्स झंडा। मैंने बिल्ड लॉग की जांच की है और संकलन करते समय उन्हें सेट किया जा रहा है।

कार्यक्रम निष्पादित मैं .gcno फ़ाइलों का निर्माण/.build/डीबग-iphonesimulator/.build/वस्तुओं सामान्य/i386 निर्देशिका में संकलित कोड ओर के साथ प्रदर्शित होने के देख सकते हैं।

लेकिन जब मैं सिम्युलेटर में ऐप चलाता हूं तो मुझे * .gcda फ़ाइलें दिखाई नहीं देती हैं।

मेरी समझ यह है कि इन फ़ाइलों में उपकरण से डेटा होता है। लेकिन मैं उन्हें कंप्यूटर पर कहीं भी नहीं ढूंढ सकता।

मुझे पता है कि उन्हें * .gcno फ़ाइलों के साथ उत्पादित और प्रदर्शित किया जा सकता है क्योंकि मेरे पास पुरानी ट्रैश वाली निर्देशिका निर्देशिका है जो उनके पास है। मैं सिर्फ यह नहीं समझ सकता कि मुझे उन्हें दिखाने और चलाने के लिए क्या करना है।

किसी भी मदद की सराहना की।

+0

पर जानकारी का उल्लेख किया गया है क्या आप "बाधाओं" को खोजने और छुटकारा पाने की कोशिश कर रहे हैं? यदि ऐसा है, [यादृच्छिक-रोके जाने पर विचार करें] (http://stackoverflow.com/questions/926266/performance-optimization-strategies-of-last-resort/927773#927773)। –

+0

नहीं। मेरा मुख्य हित यह देख रहा है कि एप्लिकेशन में कितना आवेदन यूनिट परीक्षणों द्वारा कवर किया गया है और मुझे उन बिंदु क्षेत्रों को पिन करने में मदद करना है, जिन्हें मैं अधिक परीक्षण जोड़ना चाहता हूं। जावा/फुर्तीली पृष्ठभूमि से आ रहा है, यूनिट परीक्षण ऐसा कुछ है जो मुझे करना पसंद है :) – drekka

उत्तर

1

मुझे आशा है कि इस link आप देना होगा यह दो संभव समाधान देता है कुछ विचार लिंक की खोज मैंने पाया

जब स्रोत फ़ाइल जीसीसी -ftest-कवरेज विकल्प के साथ संकलित किया गया है .gcno फ़ाइल उत्पन्न होता है। इसमें मूल ब्लॉक ग्राफ़ का पुनर्निर्माण करने के लिए जानकारी शामिल है और ब्लॉक करने के लिए स्रोत लाइन संख्या असाइन करें।

.gcda फ़ाइल जब एक कार्यक्रम युक्त वस्तु फ़ाइलों जीसीसी -fprofile-आर्क्स विकल्प के साथ बनाया गया निष्पादित किया जाता है उत्पन्न होता है। इस विकल्प के साथ संकलित प्रत्येक ऑब्जेक्ट फ़ाइल के लिए बनाई गई एक अलग .gcda फ़ाइल है। इसमें आर्क संक्रमण गणनाएं हैं, और कुछ सारांश जानकारी शामिल हैं।

तो हो सकता है कि आप कुछ गलत सेटिंग्स के साथ निर्माण कर रहे हों। http://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html#Gcov-Data-Files

1

This link का उत्तर हो सकता है, मूल रूप से gcda फ़ाइलें तब तक उत्पन्न नहीं होती जब तक कि आपका ऐप ठीक से बाहर न हो जाए।

  • पूरी तरह से सिम्युलेटर
  • अपने plist में जोड़ना छोड़ने (लेकिन रिहाई के लिए नहीं बनाता है):

    <key>UIApplicationExitsOnSuspend</key> 
    <true/> 
    
+0

धन्यवाद। मैंने उन दोनों समाधानों की कोशिश की। सिम्युलेटर को पूरी तरह से बंद करना और फिर उस रेखा को प्लेस्ट में जोड़ना। न तो काम किया। – drekka

+0

बस उपसर्ग शीर्षलेख को हटाने का प्रयास किया। इस मुद्दे को ठीक नहीं किया। यहां तक ​​कि जब मैं सिम्युलेटर से बाहर निकल गया। – drekka

+0

मुझे लगता है कि समस्या गलत सेटिंग्स के साथ निर्माण कर रहा है। उन्हें जीसीएनओ फाइलें मिल रही हैं जो 'जीसीसी-फास्टेस्ट-कवरेज' विकल्प के साथ दिखाई देती हैं, उन्हें जीसीडीए फाइलें प्राप्त करने के लिए 'जीसीसी-फ्रोफाइल-आर्क्स' विकल्प के साथ निर्माण करने की आवश्यकता है। –

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