2010-11-17 8 views
5

मैं स्ट्रीमिंग से संबंधित एक स्थानीय एप्लिकेशन पर, मैं अपने ग मॉड्यूल में कुछ समस्याओं का सामना करना पड़ रहा विकासशील रहा समझने के लिए मदद की जरूरत है ... और क्या मेरे पास है Logcatobjdump? संदेशों

से कुछ संदेश

यहाँ Logcat है संदेश

INFO/DEBUG(28): Build fingerprint: 'generic/sdk/generic/:2.1-update1/ECLAIR/35983:eng/test-keys' 
11-17 12:40:07.550: INFO/DEBUG(28): pid: 5957, tid: 5957 >>> com.mmstwo <<< 
11-17 12:40:07.561: INFO/DEBUG(28): signal 11 (SIGSEGV), fault addr deadd00d 
11-17 12:40:07.561: INFO/DEBUG(28): r0 00000354 r1 00129100 r2 0000000c r3 deadd00d 
11-17 12:40:07.561: INFO/DEBUG(28): r4 00000026 r5 ad07ff50 r6 00000000 r7 fffe72f8 
11-17 12:40:07.579: INFO/DEBUG(28): r8 afe3bdfc r9 4509f020 10 00000000 fp 00135a40 
11-17 12:40:07.590: INFO/DEBUG(28): ip ad080160 sp bef28f90 lr afe14cf7 pc ad035452 cpsr 20000030 
11-17 12:40:07.840: INFO/DEBUG(28):   #00 pc 00035452 /system/lib/libdvm.so 
11-17 12:40:07.850: INFO/DEBUG(28):   #01 pc 00027a98 /system/lib/libdvm.so 
11-17 12:40:07.869: INFO/DEBUG(28):   #02 pc 00027bba /system/lib/libdvm.so 
11-17 12:40:07.879: INFO/DEBUG(28):   #03 pc 0002d98e /system/lib/libdvm.so 

11-17 12:40:07.901: INFO/DEBUG(28):   #04 pc 0000142e /data/data/com.mmstwo/lib/libnstreamer.so 

इस लाइन है कि सी वर्ग जो मैं का उपयोग प्रतिनिधित्व करता है।


टिप्पणियों के अनुसार my previous question पर

मैं राहुल द्वारा दिए गए यूआरएल पीछा किया और एक पाठ फ़ाइल के लिए मेरे .so फ़ाइल फेंक दिया।

यहाँ कि पाठ फ़ाइल

141e: 4a2d  ldr r2, [pc, #180] (14d4 <Java_com_mmstwo_NativeParser_stringFromJNI+0x408>) 
    1420: 4b2d  ldr r3, [pc, #180] (14d8 <Java_com_mmstwo_NativeParser_stringFromJNI+0x40c>) 
    1422: 2184  movs r1, #132 
    1424: 5846  ldr r6, [r0, r1] 
    1426: 18aa  adds r2, r5, r2 
    1428: 18eb  adds r3, r5, r3 
    142a: 4651  mov r1, sl 
    142c: 1c38  adds r0, r7, #0 
    142e: 47b0  blx r6 
    1430: 4b2a  ldr r3, [pc, #168] (14dc <Java_com_mmstwo_NativeParser_stringFromJNI+0x410>) 
    1432: 4669  mov r1, sp 

है तो post in google groups प्रति और विशेष रूप से सुझाव के रूप में Nicklas Ansman से मैं टुकड़ा जो मेरे वांछित लाइन 142e के आसपास है दिखाया था।

अब कोई भी जो यहां बता सकता है 47b0 blx r6 का अर्थ क्या है?

मुझे क्या पता था कि यह असेंबली भाषा में कुछ लिखा गया है जिसे मैं नहीं जानता। इसलिए मुझे उस रेखा को समझने में आपकी मदद की ज़रूरत है।

अग्रिम धन्यवाद

+1

एफडब्ल्यूआईडब्ल्यू, गलती पता "deadd00d" एक जानबूझकर वीएम abort इंगित करता है। वीएम को रद्द करने से पहले लॉग फ़ाइल में एक स्पष्टीकरण लिखता है; आपको इसे यहां चिपकाए गए ऊपर से ऊपर देखना चाहिए। – fadden

उत्तर

3

blx तर्क द्वारा दिए गए पते पर कूदता मदद की; यहां, उस पते पर जो वर्तमान में रजिस्टर आर 6 में लोड किया गया है। इसके अलावा, वापसी पता (ldr ऑपोड का पता जो blx के तुरंत बाद स्थित है) विशेष प्रयोजन रजिस्टर एलआर ("लिंक रजिस्टर" के रूप में) में लिखा गया है।

यह एक अप्रत्यक्ष कॉल से मेल खाता है। सी में यह फ़ंक्शन पॉइंटर के माध्यम से कॉल की तरह दिखेगा। गतिशील लिंकिंग वाले कुछ प्लेटफ़ॉर्म पर, फ़ंक्शन पर एक साधारण फ़ंक्शन कॉल कुछ भी हो सकता है जो आप यहां देखते हैं।

वैसे भी, रजिस्टर डंप उस बिंदु पर 0 होने के लिए आर 6 दिखाता है, इसलिए segfault। आर 6 को पता 1424 पर ldr ओपोड से लोड किया गया था। यह आर 6 + आर 1 पर आर 6 लोड करता है, आर 1 ऊपर 132 पर सेट किया जा रहा है। आर 0 एक सी समारोह के पहले तर्क के लिए पारंपरिक रजिस्टर है।

+0

धन्यवाद थॉमस, यह मेरी अपेक्षा से अधिक है। – Prasham

+0

और एक और बात ... क्या कोई गाइड उपलब्ध है जिसमें सभी विधानसभा आदेशों की विस्तृत सूची उचित व्याख्या के साथ है? – Prasham

+1

आप http://infocenter.arm.com/ से एआरएम आर्किटेक्चर रेफरेंस मैनुअल प्राप्त कर सकते हैं (आपको पंजीकरण करना है लेकिन यह मुफ़्त है)।आपको पीढ़ी के आधार पर प्रक्रिया कॉल मानक (एटीपीसीएस या एएपीसीएस) की भी आवश्यकता होगी - एआरएम दुनिया एक बड़ी गड़बड़ी है): प्रक्रिया कॉल मानक परिभाषित करता है कि कौन से रजिस्ट्रार तर्क हैं, कैसे स्टैक बनाए रखा जाता है और गठबंधन किया जाता है, और इसलिए पर। –

0

ठीक है इसे Google पर कुछ सनकी खुदाई के साथ ढूंढें। '

blx माध्य Branch and link with exchange (BLX) और यदि मैं गलत नहीं हूं तो यह return withValue जावा स्टेटमेंट के समान है।

यह मेरे मूल कोड भी डिबगिंग शुरू करने के लिए ......

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