2011-12-01 15 views
10

मैं जेएनआई आवेदन कोडिंग कर रहा हूं। लॉगकैट इंगित करता है कि लॉग फाइल मौजूद हैं डेटा/लॉग/dumpstate_app_native.txt सिस्टम टॉम्बस्टोन में भी सामान। जब मैं सैमसंग इन्फ्यूज को मीडिया डिवाइस के रूप में एक्सेस करता हूं तो मुझे ऐसी कोई फाइल नहीं दिखाई देती है। असल में मुझे अपनी एप्लिकेशन डेटा फाइलें नहीं दिखाई देती हैं? वे कहां हैं, मैं अन्य एप्लिकेशन पैकेज देखता हूं लेकिन डेटा अवधि के तहत ज्यादा नहीं। यहाँ है कि मैं क्या logcat में देखते हैं:एंड्रॉइड जेएनआई कोर डंप फाइलों को कैसे पढ़ा जाए

dumpstate /data/log/dumpstate_app_native.txt नकल/डेटा/tombstones/tombstone_01 ड्रॉपबॉक्स (SYSTEM_TOMBSTONE) को ढेर लिखा

/data/anr/traces.txt करने के लिए 'निशान

मैंने डिवाइस पर * .txt के लिए मीडिया डिवाइस के रूप में खोज की और कुछ भी नहीं मिला।

+0

किसी को जवाब दे? – Androider

उत्तर

10

आप तब तक टॉम्बस्टोन फ़ाइलों को पढ़ने में सक्षम नहीं होंगे जब तक आप एक एमुलेटर या रूट फोन का उपयोग नहीं कर रहे हों। लॉककैट डीबग स्तर पर टॉम्बस्टोन प्रिंट करता है (यह "कॉपीिंग टॉम्बस्टोन" संदेश से ठीक पहले यह बड़ा कोर डंप है)। ऐसा कोई वर्ग होना चाहिए जो इस तरह कुछ दिखता हो:

01-18 16:28:04.334 16759 16759 I DEBUG : scr 80000012 
01-18 16:28:04.334 16759 16759 I DEBUG : 
01-18 16:28:04.384 16759 16759 I DEBUG :   #00 pc 00007f84 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.384 16759 16759 I DEBUG :   #01 pc 00008f80 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #02 pc 00002c6a /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #03 pc 00002ea8 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #04 pc 00003178 /data/data/com.myapp/lib/myjnilib.so 
01-18 16:28:04.394 16759 16759 I DEBUG :   #05 pc 00011e74 /system/lib/libdvm.so 
... 

यह संक्षिप्त स्टैकट्रैक है। आपको उस हेक्स पते का संदर्भ देने वाले फ़ंक्शन, फ़ाइल और लाइन नंबर को निर्धारित करने के लिए एनडीके में addr2line टूल का उपयोग करने की आवश्यकता होगी। मेरी OSX प्रणाली पर, आदेश प्राप्त करने के लिए स्टैकट्रेस की पहली पंक्ति इस तरह दिखता है:

/opt/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-addr2line -f -e myJNIproject/obj/local/armeabi/myjnilib.so 0x00007f84 

जहां myJNIproject/obj/स्थानीय/armeabi/myjnilib.somyjnilib.so का संस्करण है कि लाइन नंबर जानकारी शामिल है।

+2

'ndk-stack' भी है, जिसे ndk में शामिल किया गया है –

0

इस लिंक http://bytesthink.com/blog/?p=133

पर एक बार देख ले बस सुनिश्चित करें कि आप सही प्रतीकों एकत्र समाधि का पत्थर से समन्वयित हो जाते हैं।

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