2011-09-12 46 views
6

我試圖在使用本地庫的應用程序的 調試期間使用ndk-stack實用程序獲得一些幫助。問題是, 所有我開始使用工具是這樣的:ndk-stack:無法打開符號文件.../../libutil.so。錯誤(9):錯誤的文件描述符

*** 崩潰轉儲: ** *生成指紋: 「tmobile的/ htc_vision /願景: 2.3.4/GRJ22/82286:user/release-keys' pid:15769,tid:15794 >>> us.ihmc.aci.dsproapp < < < signal 11 (SIGSEGV),code 1(SEGV_MAPERR),fault addr 00000024堆棧幀#00 pc 00063710 /data/data/us.ihmc.aci.dsproapp/lib/ libutil.so:無法打開 以打開符號文件/ home/enrico/CVSROOT/android/ aci/dsproapp/obj/local/armeabi/libutil。所以。 錯誤(9):錯誤的文件 描述符

,我使用的命令是這樣的:

NDK堆疊-sym ../obj/local/armeabi -dump /家用/恩里科/堆棧跟蹤/ crash_waypoint.txt

我所有的本地庫與

編譯

APP_OPTIM:=調試APP_STL:= gnustl_static

在Application.mk,所以調試符號應該存在。 您之前有沒有人遇到過這個問題? 謝謝, 恩里科

回答

1

當.so文件存在,但該文件不包含符號imformation我已經看到了這個錯誤。我的猜測是你的文件沒有爲它生成的符號。

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

發生在我身上,而試圖調試在我的C代碼崩潰。抓了我的頭大約3個小時。

您可能正在使用的的.so文件。 你應該使用一個前端{project_root}/obj/local/arm*/。這個有象徵性的信息。

相關問題