Подтвердить что ты не робот

Ndk-stack не работает

Я вызываю ndk-stack следующим образом:

cat file_temp | ~/workspace/android-ndk-r6b/ndk-stack -sym /home/xyz/trunk/apk/obj/local/armeabi/

Он находит отпечаток пальца, но не показывает мне анализ стека. Выведенная ошибка:

ndk-stack: elff/elf_file.cc:102: static ElfFile* ElfFile::Create(const char*): Assertion `read_bytes != -1 && read_bytes == sizeof(header)' failed. Stack frame #00  pc 43121300  Aborted

Любые идеи?

Спасибо.

4b9b3361

Ответ 1

Это программа ndk-стека, которая не может прочитать неиспользованную версию ваших общих библиотек.

Конкретный сбой происходит из-за того, что существует файл, соответствующий имени модуля, но он недостаточно велик, чтобы содержать заголовок ELF.

Чем заняться:

  • Убедитесь, что файлы, содержащиеся в каталоге, поставляемом через -sym, являются правильными (и не усекаются).

  • Удалите усеченные файлы или файлы размером менее нескольких сотен байт.

Если вам интересно, исходный код для ndk-stack находится в дереве исходных файлов Android под ndk/sources/host-tools/ndk-stack