addr2line是一个十分有用的debug工具,这个工具在ndk的安装目录下就有
在ndk \toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin目录下
可以用于帮助我们分析jni 里面的bug,下面我们故意在jni代码中留一个异常,在运行到memcpy就会发生空指针异常,应用会闪退。
运行之后,通过log我们得到如下信息
09-08 14:35:53.777 F/DEBUG ( 6893): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-08 14:35:53.853 F/DEBUG ( 6893): Build fingerprint: 'Android/sdk_google_phone_arm64/generic_arm64:7.1.1/NYC/4252396:userdebug/test-keys'
09-08 14:35:53.853 F/DEBUG ( 6893): Revision: '0'
09-08 14:35:53.853 F/DEBUG ( 6893): ABI: 'arm64'
09-08 14:35:53.854 F/DEBUG ( 6893): pid: 6867, tid: 6867, name: hxiong.neondemo >>> com.hxiong.neondemo <<<
09-08 14:35:53.854 F/DEBUG ( 6893): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
09-08 14:35:53.855 F/DEBUG ( 6893): x0 0000000000000003 x1 0000000000000000