2011-09-12 10 views
6

मैं देशी पुस्तकालयों का उपयोग कर रहे मेरे ऐप के डीबग के दौरान कुछ मदद प्राप्त करने के लिए ndk-stack उपयोगिता का उपयोग करने का प्रयास कर रहा हूं। समस्या सब मैं सुविधा का उपयोग करने के लिए इस है:ndk-stack: प्रतीक फ़ाइल खोलने में असमर्थ .../../libutil.so। त्रुटि (9): खराब फ़ाइल डिस्क्रिप्टर

*** क्रैश डंप: ** * फिंगरप्रिंट बिल्ड: 'tmobile/htc_vision/दृष्टि: 2.3.4/जीआरजे 22/82286: उपयोगकर्ता/रिलीज-कीज ' पिड: 1576 9, टिड: 15794 >>> us.ihmc.aci.dsproapp < < < सिग्नल 11 (एसआईजीएसईजीवी), कोड 1 (एसईजीवी_Mएपीईआरआर), गलती योजक 00000024 ढेर फ्रेम # 00 पीसी 00063710 /data/data/us.ihmc.aci.dsproapp/lib/ libutil.so: असमर्थ फ़ाइल/होम/एनरिको/सीवीएसआरओटी/एंड्रॉइड/ एसीआई/डीएसपीआरएपी/ओबीजे/स्थानीय/आर्मेबी/libutil खोलने के लिए में असमर्थ। इसलिए। त्रुटि (9): खराब फ़ाइल वर्णनकर्ता

आदेश है कि मैं उपयोग कर रहा हूँ यह है:

NDK-ढेर -sym ../obj/local/armeabi -dump /घर/एनरिको/स्टैकट्रेस/crash_waypoint.txt

मेरे सभी देशी पुस्तकालयों

साथ संकलित किए जाते हैं

APP_OPTIM: = डिबग APP_STL: = gnustl_static

Application.mk में, तो डिबग प्रतीकों मौजूद होना चाहिए। क्या आप में से किसी को भी इससे पहले समस्या थी? धन्यवाद, एनरिको

उत्तर

1

.so फ़ाइल मौजूद होने पर मैंने यह त्रुटि देखी है लेकिन फ़ाइल में प्रतीकात्मक सुधार नहीं है। मेरा अनुमान है कि आपकी फ़ाइल में इसके लिए उत्पन्न प्रतीक नहीं थे।

1

मुझे लगता है

आपका Application.mk इस तरह होना चाहिए:

APP_STL := gnustl_static 
APP_ABI := armeabi 
APP_OPTIM := debug 

और अपने Android.mk इस तरह होना चाहिए:

LOCAL_CFLAGS := -I <Your header files goes here> 
LOCAL_CFLAGS += -g 
LOCAL_CFLAGS += -ggdb 
LOCAL_CFLAGS += -O1 
+0

ये सभी विकल्प डिफ़ॉल्ट रूप से चालू हैं। ('APP_OPTIM' इंटरमीडिएट निर्देशिका में बाइनरी की डीबगबिलिटी को नहीं बदलेगा) –

3

मेरे लिए हुआ डिबग का प्रयास करते समय मेरे सी कोड में एक दुर्घटना। इस पर मेरे सिर को लगभग 3 घंटे तक खरोंच कर दिया।

आप शायद {project_root}/libs/arm*/ से .so फ़ाइल का उपयोग कर रहे हैं। आपको एक फ्रॉन {project_root}/obj/local/arm*/ का उपयोग करना चाहिए। इस में प्रतीकात्मक जानकारी है।

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