JNI调用出现XXX遇到问题已退出解决方法
来源:互联网 发布:如何利用淘宝套现 编辑:程序博客网 时间:2024/05/18 01:09
在JNI调用中经常会遇到异常导致APK闪退的现象,而这种问题通常很难定位,要定位这种问题,需要:
1:首先在logcat中加入debug(方法如图所示):
2:在运行后报错中会在debug中找到类似这样的一串错误
看到这个长长的错误,不要慌,我们就要拿着这个错误去分析:
首先,从这个长长的串中找到有用的信息
10-28 12:39:17.779: I/DEBUG(7749): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
10-28 12:39:17.779: I/DEBUG(7749): r0 00000027 r1 deadbaad r2 a0000000 r3 00000000
10-28 12:39:17.779: I/DEBUG(7749): r4 00000001 r5 00000000 r6 44bc8c10 r7 44984e64
10-28 12:39:17.779: I/DEBUG(7749): r8 44bc8b70 r9 44984e54 10 44984e3c fp 800a5368
10-28 12:39:17.779: I/DEBUG(7749): ip afd46668 sp 44bc8ae0 lr afd191d9 pc afd15ca4 cpsr 60000030
10-28 12:39:17.779: I/DEBUG(7749): d0 646f423262287964 d1 6f42796f72747365
10-28 12:39:17.779: I/DEBUG(7749): d2 646e412f65737062 d3 6850656e69676e32
10-28 12:39:17.779: I/DEBUG(7749): d4 786f427363697379 d5 736e657478454432
10-28 12:39:17.779: I/DEBUG(7749): d6 2f696e6a2f6e6f69 d7 79442f4432786f42
10-28 12:39:17.779: I/DEBUG(7749): d8 42ce94f34e6e6b28 d9 3c8888893c888888
10-28 12:39:17.779: I/DEBUG(7749): d10 c26f7c303f800000 d11 3fed9bafc26f7e0e
10-28 12:39:17.779: I/DEBUG(7749): d12 0000000000000000 d13 0000000000000000
10-28 12:39:17.779: I/DEBUG(7749): d14 0000000000000000 d15 0000000000000000
10-28 12:39:17.779: I/DEBUG(7749): d16 3ef18d523ae9735c d17 3fca68bfcfa2d635
10-28 12:39:17.779: I/DEBUG(7749): d18 bf29fd09783e4216 d19 3ec6cd878c3b46a7
10-28 12:39:17.779: I/DEBUG(7749): d20 3f826164f3f641b5 d21 3f5e8ec8e86d933e
10-28 12:39:17.779: I/DEBUG(7749): d22 3e3782e7e0000000 d23 3e33401660000000
10-28 12:39:17.779: I/DEBUG(7749): d24 3fca99a880000000 d25 bfca99a880000000
10-28 12:39:17.779: I/DEBUG(7749): d26 be3ff77520000000 d27 3ef99342e0ee5069
10-28 12:39:17.779: I/DEBUG(7749): d28 bfa2b4442c6a6c2f d29 0000000000000000
10-28 12:39:17.779: I/DEBUG(7749): d30 0000000000000000 d31 0000000000000000
10-28 12:39:17.779: I/DEBUG(7749): scr 80000012
10-28 12:39:17.829: I/DEBUG(7749): #00 pc 00015ca4 /system/lib/libc.so
10-28 12:39:17.829: I/DEBUG(7749): #01 pc 0001c92c /system/lib/libc
3.用addr2line命令找到地址对应的程序位置,动态库为libmultiplayerservice.so
arm-eabi-addr2line 000078e6 -e libmultiplayerservice.so
结果:,显示出对应的程序文件和行数,如果不是debug版本,可能有一两行偏差
阅读全文
0 0
- JNI调用出现XXX遇到问题已退出解决方法
- java 线程遇到的问题及解决方法 JNI调用
- JNI调用遇到的问题
- 关于 qt程序退出出现“已停止工作”程序奔溃问题 的解决方法
- C# 调用 C++ 写的Dll 遇到的问题(调用DLL 自动退出) win32已停止工作
- java用jni调用dll动态库出现Can't find dependent libraries问题的解决方法
- VS2005 c# 遇到“Lc.exe 已退出,代码 -1”问题
- 解决JNI调用DetachCurrentThread程序异常退出的问题
- Https 调用遇到的问题以及解决方法
- Android源码编译JNI遇到的问题与解决方法
- Spark shell退出操作以及出现问题的解决方法
- 在VS2005中出现 "LC.exe"已退出,代码-1 的解决方法
- jni c调用java 方法封装后出现的问题
- Android jni 调用native出现乱码的问题
- JNI 遇到的问题
- JNI:C调用java输出hello,xxx
- LC.exe 已退出 错误解决方法
- 遇到的问题------数据库 update 语句出现错误的解决方法
- Curator工具类之TestingCluster。
- 剑指offer 最小的k个数
- Error:Execution failed for task ':app:processDebugManifest'.
- 【数据库】SQL导入CSV到表中指定部分字段
- 在阿里云服务器上搭建SVN服务端
- JNI调用出现XXX遇到问题已退出解决方法
- github Pages:利用github仓库做免费服务器储存,建立个人网站
- akka的ask消息发送
- 【python】迭代器和生成器区别
- java实现将文件(包含word,excel,图片等)转PDF
- 服务器上mysql中创建数据库后以及创建用户和授权
- springboot整合mybatis
- 阿里云虚拟化平台响应十九大带领中国踏入新时代,携手麦腾举办AI时代的加速核心武器交流会
- 架构设计EIT造型下的android框架(二)