android native开发偶尔会遭遇native库异常导致程序崩溃,打入来的log如下:

06-05 18:52:57.566: I/DEBUG(8139): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***06-05 18:52:57.566: I/DEBUG(8139): Build fingerprint: 'htc_asia_wwe/htc_saga/saga:2.3.3/GRI40/27073:user/release-keys'06-05 18:52:57.566: I/DEBUG(8139): pid: 8246, tid: 8258 >>> com.teon <<<06-05 18:52:57.566: I/DEBUG(8139): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0088300006-05 18:52:57.566: I/DEBUG(8139): r0 4c8869c0 r1 00882fe8 r2 00000600 r3 0000000006-05 18:52:57.576: I/DEBUG(8139): r4 00000001 r5 00882628 r6 45882920 r7 0000001006-05 18:52:57.576: I/DEBUG(8139): r8 00000000 r9 00882628 10 00001401 fp 0000000006-05 18:52:57.576: I/DEBUG(8139): ip 80b091c8 sp 458828a8 lr 80e8cc7d pc afd0ceb8 cpsr 2000001006-05 18:52:57.576: I/DEBUG(8139): d0 0000000000000000 d1 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d2 0000000000000000 d3 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d4 0000000000000000 d5 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d6 0000002800000000 d7 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d8 0000000000000000 d9 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d10 0000000000000000 d11 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d12 0000000000000000 d13 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d14 0000000000000000 d15 000000000000000006-05 18:52:57.576: I/DEBUG(8139): d16 401000004051c7e0 d17 7e37e43c8800759c06-05 18:52:57.586: I/DEBUG(8139): d18 bf29d485528174dc d19 3ec6cd878c3b46a706-05 18:52:57.586: I/DEBUG(8139): d20 3fd5c6d5a10f7452 d21 3fce67efe86ccc1506-05 18:52:57.586: I/DEBUG(8139): d22 3ff0000000000000 d23 000000000000000006-05 18:52:57.586: I/DEBUG(8139): d24 3ff0000000000000 d25 000000000000000006-05 18:52:57.586: I/DEBUG(8139): d26 0000000000000000 d27 000000000000000006-05 18:52:57.586: I/DEBUG(8139): d28 0000000000000000 d29 000000000000000006-05 18:52:57.596: I/DEBUG(8139): d30 0000000000000000 d31 000000000000000006-05 18:52:57.606: I/DEBUG(8139): scr 6000001206-05 18:52:57.656: I/DEBUG(8139):     #00 pc 0000ceb8 /system/lib/libc.so06-05 18:52:57.656: I/DEBUG(8139):     #01 pc 0008cc7a /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #02 pc 0008ce0c /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #03 pc 0008d626 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #04 pc 0008eaf6 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #05 pc 0008ec04 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #06 pc 0008f7b2 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #07 pc 0006c080 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #08 pc 0006c2f4 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #09 pc 00083bec /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #10 pc 00014842 /system/lib/egl/libGLESv1_CM_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #11 pc 0001d6fc /system/lib/egl/libGLESv1_CM_adreno200.so06-05 18:52:57.656: I/DEBUG(8139):     #12 pc 0001dc88 /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #13 pc 00063ec6 /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #14 pc 00064ef6 /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #15 pc 00015dfa /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #16 pc 0001f898 /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #17 pc 0001dbae /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139):     #18 pc 00020794 /data/data/com.teon/lib/libteon.so06-05 18:52:57.656: I/DEBUG(8139): code around pc:06-05 18:52:57.656: I/DEBUG(8139): afd0ce98 f400071d f5d1f000 f5d1f040 e252204006-05 18:52:57.656: I/DEBUG(8139): afd0cea8 3a000009 f5d1f080 f5d1f0c0 f5d1f10006-05 18:52:57.656: I/DEBUG(8139): afd0ceb8 f421020d f421420d f5d1f100 e252204006-05 18:52:57.656: I/DEBUG(8139): afd0cec8 f400022d f400422d 2afffff8 e282204006-05 18:52:57.656: I/DEBUG(8139): afd0ced8 e2522020 3a000003 f421020d e252202006-05 18:52:57.656: I/DEBUG(8139): code around lr:06-05 18:52:57.656: I/DEBUG(8139): 80e8cc5c 000cf8dc b1c99007 2030f8dc 6970087f06-05 18:52:57.656: I/DEBUG(8139): 80e8cc6c bf382f01 93012701 c008f8cd e9d0f7cf06-05 18:52:57.656: I/DEBUG(8139): 80e8cc7c 9b019903 c008f8dd 085b084d bf382d0106-05 18:52:57.656: I/DEBUG(8139): 80e8cc8c 2b012501 2301bf38 25019503 21301c6a06-05 18:52:57.656: I/DEBUG(8139): 80e8cc9c fb01980a 2218c402 0105fb02 3408463006-05 18:52:57.656: I/DEBUG(8139): stack:06-05 18:52:57.656: I/DEBUG(8139):   45882868 80b03f50 /system/lib/libgsl.so06-05 18:52:57.656: I/DEBUG(8139):   4588286c c00c0923 06-05 18:52:57.656: I/DEBUG(8139):   45882870 4588288c 06-05 18:52:57.656: I/DEBUG(8139):   45882874 0000000c 06-05 18:52:57.666: I/DEBUG(8139):   45882878 ffffffff 06-05 18:52:57.666: I/DEBUG(8139):   4588287c 00000000 06-05 18:52:57.666: I/DEBUG(8139):   45882880 00000001 06-05 18:52:57.666: I/DEBUG(8139):   45882884 80e9bcc5 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.666: I/DEBUG(8139):   45882888 0087ed90 06-05 18:52:57.666: I/DEBUG(8139):   4588288c 66688000 06-05 18:52:57.666: I/DEBUG(8139):   45882890 4c886000 06-05 18:52:57.666: I/DEBUG(8139):   45882894 00000001 06-05 18:52:57.666: I/DEBUG(8139):   45882898 00000020 06-05 18:52:57.666: I/DEBUG(8139):   4588289c 00000001 06-05 18:52:57.666: I/DEBUG(8139):   458828a0 df002777 06-05 18:52:57.666: I/DEBUG(8139):   458828a4 e3a070ad 06-05 18:52:57.666: I/DEBUG(8139): #00 458828a8 4c886000 06-05 18:52:57.666: I/DEBUG(8139):   458828ac 80e8cc7d /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.666: I/DEBUG(8139): #01 458828b0 0087ec30 06-05 18:52:57.666: I/DEBUG(8139):   458828b4 00000040 06-05 18:52:57.666: I/DEBUG(8139):   458828b8 0087ec30 06-05 18:52:57.666: I/DEBUG(8139):   458828bc 00000001 06-05 18:52:57.666: I/DEBUG(8139):   458828c0 00000000 06-05 18:52:57.666: I/DEBUG(8139):   458828c4 80e89aa9 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.666: I/DEBUG(8139):   458828c8 00001000 06-05 18:52:57.666: I/DEBUG(8139):   458828cc 00000001 06-05 18:52:57.666: I/DEBUG(8139):   458828d0 fffff050 06-05 18:52:57.666: I/DEBUG(8139):   458828d4 fffff37c 06-05 18:52:57.666: I/DEBUG(8139):   458828d8 00605124 06-05 18:52:57.666: I/DEBUG(8139):   458828dc 00000001 06-05 18:52:57.666: I/DEBUG(8139):   458828e0 0087eec8 06-05 18:52:57.666: I/DEBUG(8139):   458828e4 80fc6e54 06-05 18:52:57.666: I/DEBUG(8139):   458828e8 00000000 06-05 18:52:57.676: I/DEBUG(8139):   458828ec 80e9b9e5 /system/lib/egl/libGLESv2_adreno200.so06-05 18:52:57.676: I/DEBUG(8139):   458828f0 45882920 06-05 18:52:57.676: I/DEBUG(8139):   458828f4 0087ec30 06-05 18:52:57.676: I/DEBUG(8139):   458828f8 45882920 06-05 18:52:57.676: I/DEBUG(8139):   458828fc 00605120 06-05 18:52:57.676: I/DEBUG(8139):   45882900 0087ec30 06-05 18:52:57.676: I/DEBUG(8139):   45882904 00000000 06-05 18:52:57.676: I/DEBUG(8139):   45882908 45882920 06-05 18:52:57.676: I/DEBUG(8139):   4588290c 00605120 06-05 18:52:57.676: I/DEBUG(8139):   45882910 0087ec30 06-05 18:52:57.676: I/DEBUG(8139):   45882914 80e8ce11 /system/lib/egl/libGLESv2_adreno200.so
一堆内存地址,很难看得懂,所以需要使用ndk提供的ndk-stack命令进行调试

1.把上面的异常log保存为 log.txt 文件

2.cmd 进入 cd <ndk路径>

3.调试命令:ndk路径>ndk-stack -sym <工程路径\obj\local\armeabi> -dump <log.txt路径>

enter:出异常的代码文件信息出来了

(注:调用顺序为自下而上)



更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 2011.09.01(2)——— android 处理双击事件
  3. Ubuntu14.04下最新Android(安卓)NDK安装
  4. android 获取路径目录方法
  5. Android中pm命令用法详解
  6. android神器Stetho调试
  7. android sd卡状态、路径、可用空间,内存
  8. android命令行打包、签名+自动打包器
  9. android 内存占用调试

随机推荐

  1. Android体验系列之--AnalogClock控件
  2. Android开机自动启动程序设置
  3. Android(安卓)从网上获取图片
  4. Android学习笔记-常见报错
  5. 打开android默认浏览器
  6. Android判断app是否是第一次运行
  7. Android(安卓)TabWidget设计模板
  8. Turn your Android(安卓)phone into a DL
  9. Android动态添加Fragment
  10. Android(安卓)Custom