ndk-stack: невозможно открыть файл символов ... / .. / libutil.so.Ошибка (9): неверный дескриптор файла - PullRequest
6 голосов
/ 13 сентября 2011

Я пытаюсь использовать утилиту ndk-stack, чтобы получить некоторую помощь во время отладка моего приложения, использующего нативные библиотеки. Проблема в том, что все, что я получаю с помощью утилиты, это:

*** Аварийный сброс: *** Построение отпечатка пальца: 'tmobile / htc_vision / vision: 2.3.4 / GRJ22 / 82286: пользовательские / клавиши разблокировки' 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: невозможно открыть файл символов / home / enrico / CVSROOT / android / ACI / dsproapp / объект / местные / armeabi / libutil.so. <strong>Ошибка (9): неверный файл Дескриптор

Я использую следующую команду:

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

Все мои нативные библиотеки скомпилированы с

APP_OPTIM: = отладка APP_STL: = gnustl_static

В Application.mk, поэтому должны присутствовать символы отладки . Кто-нибудь из вас имел эту проблему раньше? Спасибо, Энрико

Ответы [ 3 ]

4 голосов
/ 24 октября 2013

Произошло со мной при попытке отладить сбой в моем C-коде.Почесал мне голову над этим около 3 часов.

Вы, вероятно, используете файл .so из {project_root}/libs/arm*/.Вы должны использовать один фронт {project_root}/obj/local/arm*/.У этого есть символическая информация.

1 голос
/ 18 мая 2012

Полагаю,

Ваш 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
1 голос
/ 17 сентября 2011

Я видел эту ошибку, когда файл .so присутствует, но файл не содержит символическую информацию. Я предполагаю, что в вашем файле не было сгенерированных символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...