2011-09-12 48 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*/。这个有象征性的信息。

相关问题