开发的Android工程偶发性的crash掉,还没有任何可以捕获的log信息。
琢磨了一小会儿,才发现关键的crash信息是这个。
A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 25427 (pool-1-thread-2)
只有这么一行,其他没有。
搜索了下,这个问题往往出在使用的so库里面。
需要用ndk-stack工具来定位错误。
使用方法1:
直接抓log分析 adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi ;
但对于偶发性的崩溃,直接抓log很崩溃。。。
所以使用方法2:
adb logcat >crash.txt 抓出log;
$NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dumpcrash.txt 获取错误信息;
本文介绍了一种解决Android应用程序偶发性崩溃的方法。当遇到只有一行致命信号信息(SIGSEGV)的崩溃时,可以通过使用NDK提供的ndk-stack工具定位错误。文中提供了两种实用方法:直接抓取日志进行分析以及先抓取日志再利用ndk-stack工具进行解析。
6712

被折叠的 条评论
为什么被折叠?



