问题:
Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xaa4f7704 in tid 27693 (AsyncTask #1), pid 27350
这种一般是native层报错,查看backtrace 后的堆栈信息

1、可以使用arm-linux-androideabi-addr2line工具 进行NDK调试 【AS的SDK里添加NDK工具安装】
2、配置arm-linux-androideabi-addr2line环境变量,工具所在目录:ndk目录下的toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin
3、
这个时候就可以使用arm-linux-androideabi-addr2line工具进行定位backtrace里的信息
命令格式:
arm-linux-androideabi-addr2line -e 需要调试的so库路径 内存地址
4、使用arm-linux-androideabi-addr2line 命令 将backtrace里的log 内存地址 逐个排查
当遇到Fatalsignal 11(SIGSEGV)错误时,这通常表示在Android的native层出现了问题。解决此类错误的关键是通过backtrace堆栈信息进行定位。可以使用arm-linux-androideabi-addr2line工具,该工具位于AS的SDK中添加的NDK工具安装目录下。首先配置其环境变量,然后利用这个工具,结合内存地址,进行SO库的调试。通过命令`arm-linux-androideabi-addr2line -e 需要调试的so库路径 内存地址`,逐个排查backtrace日志中的内存地址,以找到问题根源。
4万+

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



