ndk-stack:无法打开符号文件... / .. / libutil.so。错误(9):错误的文件描述符

时间:2011-09-12 21:18:41

标签: android android-ndk

我正在尝试使用ndk-stack实用程序来获取一些帮助 使用本机库调试我的应用程序。问题是 我使用该实用程序的所有内容是:

  

*** 崩溃转储: ** * 构建指纹:   'tmobile / htc_vision / vision:2.3.4 / GRJ22 / 82286:user / release-keys'   pid:15769,tid:15794>>> us.ihmc.aci.dsproapp<<<信号11   (SIGSEGV),代码1(SEGV_MAPERR),故障地址00000024堆栈帧#00   pc 00063710 /data/data/us.ihmc.aci.dsproapp/lib/ libutil.so:Unable   打开符号文件/ home / enrico / CVSROOT / android /   ACI / dsproapp / OBJ /本地/ armeabi / libutil.so。 错误(9):文件错误   描述符

我正在使用的命令是:

  

ndk-stack -sym ../obj/local/armeabi -dump   /home/enrico/stacktrace/crash_waypoint.txt

我的所有本机库都是用

编译的
  

APP_OPTIM:=调试APP_STL:= gnustl_static

在Application.mk中,调试符号应该存在。 你们之前有没有人遇到过这个问题? 谢谢, 恩里科

3 个答案:

答案 0 :(得分:4)

尝试在我的C代码中调试崩溃时发生了。我把头撞了过去大约3个小时。

您可能正在使用{project_root}/libs/arm*/中的.so文件。 你应该使用{project_root}/obj/local/arm*/一个。这个有符号信息。

答案 1 :(得分:1)

当.so文件存在但文件不包含符号信息时,我看到了这个错误。我的猜测是你的文件没有为它生成符号。

答案 2 :(得分: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