我调用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
任何想法?
谢谢。
这是ndk-stack程序无法读取共享库的未剥离版本。
由于存在与模块名称匹配的文件,但它不够大,无法包含ELF头,所以会发生特定的崩溃。
待办事项:
-
检查
-sym
提供的目录中包含的文件是否正确(并且没有被截断)。 -
删除截断的文件或小于几百字节的文件。
如果你好奇,ndk-stack的源代码在android源代码树ndk/sources/host-tools/ndk-stack