您的位置:首页 > 移动开发 > Android开发

android native ndk崩溃定位

2016-03-28 16:18 375 查看
一、崩溃问题

03-28 15:41:01.004: I/DEBUG(30042): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

03-28 15:41:01.004: I/DEBUG(30042): Revision: '11'

03-28 15:41:01.004: I/DEBUG(30042): ABI: 'arm'

03-28 15:41:01.004: I/DEBUG(30042): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x400014

03-28 15:41:01.030: I/DEBUG(30042):     r0 ffffffff  r1 003ffff4  r2 00000001  r3 b6f5cfac

03-28 15:41:01.030: I/DEBUG(30042):     r4 00400000  r5 ffffff28  r6 00400043  r7 b6f50650

03-28 15:41:01.030: I/DEBUG(30042):     r8 00000000  r9 0000000c  sl b6f54df4  fp 00000000

03-28 15:41:01.030: I/DEBUG(30042):     ip b40f1dc0  sp a3bff758  lr b6efa7a9  pc b6f30bf0  cpsr 200f0030

03-28 15:41:01.031: I/DEBUG(30042): backtrace:

03-28 15:41:01.031: I/DEBUG(30042):     #00 pc 00048bf0  /system/lib/libc.so (ifree+47)

03-28 15:41:01.031: I/DEBUG(30042):     #01 pc 000127a7  /system/lib/libc.so (free+10)

03-28 15:41:01.031: I/DEBUG(30042):     #02 pc 00035e9b 

03-28 15:41:01.031: I/DEBUG(30042):     #03 pc 00035f39  /*/*.so

03-28 15:41:01.031: I/DEBUG(30042):     #04 pc 00014cb1  /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #05 pc 00014ccf  /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #06 pc 0002ba91 /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #07 pc 0002bc79  /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #08 pc 0003c7db /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #09 pc 0003cbe3  /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #10 pc 0002928d  /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #11 pc 000347ab    /*/*.so

03-28 15:41:01.032: I/DEBUG(30042):     #12 pc 0001406d    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #13 pc 000140c5    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #14 pc 0002799f    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #15 pc 00028349    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #16 pc 0000c8eb    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #17 pc 000087a1    /*/*.so

03-28 15:41:01.033: I/DEBUG(30042):     #18 pc 0000b2c9   /*/*.so

二、工具命令

cd  /*/android-ndk-r10c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin

    ./arm-linux-androideabi-addr2line -e  /*/obj/local/armeabi/test.so  0x00035e9b
    注意要在obj目录下,否则得不到发现错误的代码文件与行数

三、结果分析与代码修改

/android/*/../../src/test.cpp:91 
查看test.cpp的91行位置,发现是delete 指针时发生崩溃,原因是指针没有进行NULL的初始化。

四、验证
运行程序,重复之前的操作,并无发现有崩溃现象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: