2012-04-03 34 views
10

Tôi có một dự án biên dịch, tải và chạy trong thiết bị Android độc đáo. Khi tôi gọi máy chủ gdb nó cũng hoạt động tốt. Sau đó, khi tôi gọi là client gdb để chạy qua với breakpoint là khi được thông báo xuất hiện:Android NDK tìm liên kết động: không thể gỡ lỗi thư viện

Error while mapping shared library sections: 
/system/bin/linker: No such file or directory. 

libandroid.so: No such file or directory. 
liblog.so: No such file or directory. 
libEGL.so: No such file or directory. 
libOpenSLES.so: No such file or directory. 
libGLESv2.so: No such file or directory. 
libGLESv2_POWERVR_SGX540_120.so: No such file or directory. 
... 
warning: Unable to find dynamic linker breakpoint function. 
GDB will be unable to debug shared library initializers 
and track explicitly loaded dynamic code 
warning: shared library handler failed to enable breakpoint 

Đây là tập tin Android.mk hiện tại của tôi, đối với trường hợp một số thiết lập thêm có thể mất tích:

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 

LS_CPP=$(subst $(1)/,,$(wildcard $(1)/*.cpp)) 
APP_MODULES := callbacks 
APP_PLATFORM := android-14 
APP_OPTIM:= debug 

LOCAL_CFLAGS := -DRAPIDXML_NO_EXCEPTIONS 
LOCAL_CFLAGS += -g 
LOCAL_CFLAGS += -ggdb 
LOCAL_CFLAGS += -O1 

LOCAL_MODULE:=app3D 
LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH)) 
LOCAL_LDLIBS := -landroid -llog -lEGL -lOpenSLES -lGLESv2 
LOCAL_STATIC_LIBRARIES := android_native_app_glue png 
LOCAL_STATIC_LIBRARIES += /jni 

include $(BUILD_SHARED_LIBRARY) 

$(call import-module,android/native_app_glue) 
$(call import-module,libpng) 

Bất kỳ đề xuất nào về lý do gây ra lỗi lạ và cách loại bỏ nó?

Tất cả các nhận xét và gợi ý được đánh giá cao và hoan nghênh.

+1

Dude, chúng tôi vừa nhận được trình gỡ lỗi trong NDK;) không ép buộc .. Tôi nghĩ GDB sẽ không đính kèm vào lib động. Ít nhất không phải bây giờ, hy vọng sớm .. – Tancho

Trả lời

5

Sử dụng ndk-gdb thay vì tiêu chuẩn gdb. Khởi chạy nó từ thư mục gốc của dự án của bạn. Hãy xem xét sử dụng tùy chọn --verbose nếu bạn muốn xem những gì ndk-gdb đang làm. Bạn phải thêm dòng này vào AndroidManifest.xml của bạn cũng:

android:debuggable="true" 

Ví dụ, tôi trông giống như:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" 
    android:debuggable="true" > 

application.mk bạn nên xác định

APP_OPTIM := debug 

Với điều này bạn don' t phải thêm -g vào cờ trình biên dịch của bạn, ndk-build sẽ tự động làm như vậy.

+0

Không thể tạo công cụ trình gỡ lỗi thuộc loại "Không có động cơ" –

Các vấn đề liên quan