2010-05-20 12 views
5

मैंने हाल ही में एक ऐप पर काम करना शुरू कर दिया है जिसमें जावा और देशी घटक दोनों हैं। मैं और Debug.startNativeTracing() वैकल्पिक रूप से घटकों दोनों के लिए ट्रेस जानकारी उत्पन्न करने का प्रयास कर रहा हूं। हालांकि, दोनों अप्रत्याशित रूप से व्यवहार कर रहे हैं।Android पर startMethodTracing API का उपयोग कैसे करें?

जब मैं Debug.startMethodTracing("myapp") का उपयोग करता हूं, तो मुझे एक फ़ाइल /sdcard/myapp.trace बनाई जा रही है, लेकिन यह हमेशा खाली रहता है इससे कोई फर्क नहीं पड़ता कि मैं अपना ऐप कितनी देर तक चलाता हूं। जब मैं Debug.startNativeTracing() का उपयोग करता हूं और -trace <tracename> स्विच के साथ एमुलेटर शुरू करता हूं, तो मुझे "ट्रेस प्रारंभ" कहने वाला एक संदेश दिखाई देता है, लेकिन जब मैं अपना ऐप चलाने की कोशिश करता हूं, तो एमुलेटर क्रैश हो जाता है।

क्या मुझे यहां कुछ स्पष्ट याद आ रही है? मैं इस समस्या को कैसे डीबग करूं?

उत्तर

5

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

उस विधि के अलावा ट्रेसिंग ने मेरे लिए ठीक काम किया है।

दूसरी ओर, मूल ट्रेसिंग समर्थित नहीं है (अभी भी), क्योंकि मुझे एक त्रुटि मिलती है "क्यूमु ट्रेस फाइलें अभी तक समर्थित नहीं हैं" जब मैं देशी ट्रेस परिणामों को ट्रेसव्यू में लोड करने का प्रयास करता हूं। (कोई भी गूगल से उस पर टिप्पणी?)

  • क्रिस
+0

महत्वपूर्ण बात, मुझे लगता है, कि अगर आप बस (बंद कॉल करने से पहले अपनी गतिविधि को समाप्त), ट्रेसिंग बंद नहीं होगा और आप नहीं होगा है एक पूर्ण फ़ाइल प्राप्त करें। –

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