(1)addr2line必须使用AOSP源码环境下的,其生成流程如下 source lunch XXXXX 此时源码环境下有一个工具--》llvm-addr2line (2)异常的二进制文件必须是编码目录symbols下生成的文件,例如小编在编译完nativeCrashTest之后,会在源码目录生成到两个地方: out/target/product/missi/symbols/system/bin/nativeCrashTest out/...
使用addr2line 命令行工具分析动态库 Tombstone 报错信息日志文件被保存在了 /data/tombstones/ 目录下 , 先 ROOT 再说 , 没有 ROOT 权限无法访问该目录中的信息 ; 使用Pixel 2 手机进行调试 , 其它 ROOT 后的手机也可以使用 ; ROOT 前先 解锁 Bootloader , 参考博客 【Android】Pixel 2 解锁 Bootloader ROOT...
0000000000009f18就是16进制地址 robert就是bin print_all_event方法 就拿上面案例来测试: test@test:~/disk2/nx563j_aosp14/out/target/product/nx563j/symbols/system/bin$~/disk2/nx563j_aosp14/prebuilts/clang/host/linux-x86/clang-r487747c/bin/llvm-addr2line-Cferobert0000000000009f18print_all_event ...
最后发现需要使用aosp自带的addr2line工具才行,android-13.0.0_r44的源码中addr2line位于如下目录: ./prebuilts/clang/host/linux-x86/llvm-binutils-stable/llvm-addr2line ./prebuilts/clang/host/linux-x86/clang-r450784d/bin/llvm-addr2line 用如上工具分析,输出如下: zzh@ubuntu:~/work/aosp/android-13...
./prebuilts/clang/host/linux-x86/clang-r450784d/bin/llvm-addr2line 用如上工具分析,输出如下: zzh@ubuntu:~/work/aosp/android-13.0.0_r44$ ./prebuilts/clang/host/linux-x86/llvm-binutils-stable/llvm-addr2line -e ./out/target/product/redfin/symbols/system/bin/native_crash_demo 00000000000010...
使用 addr2line 命令行工具分析动态库 Tombstone 报错信息日志文件被保存在了 /data/tombstones/ 使用Pixel 2 手机进行调试 , 其它 ROOT 后的手机也可以使用 ; ROOT 前先 解锁 Bootloader , 参考博客 【Android】Pixel 2 解锁 Bootloader ...
)echo${addr[*]}foriin${addr1[*]};dollvm-addr2line -e ${exe1} 0x${i}doneforiin${addr2[*]};dollvm-addr2line -e ${exe2} 0x${i}done 2. crash未记录backtrace 没有backtrace意味着不知道是哪里发生了crash,这一般是由于对空指针进行解引用,导致不能记录backtrace。也就是说你只能在log里...
Android NDK 中出现的 crash 日志分析定位,使用 addr2line 对库中定位so 动态库崩溃位置,定位到某个函数的具体的代码行。 常用的辅助工具 add2line,objdump,ndkstack 等等。本文主要介绍 NDK 环境中的 add2line如何使用。 Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令...
拿到具体泄漏的堆栈信息后,可以通过addr2line工具定位到具体的代码: /Users/xxx/Android/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line -C -f -e /Users/xxx/project/java/build/intermediates/stripped_na...
首先,找到关键信息Cause: null pointer dereference,但是我们不知道发生在具体哪里,所以接下来我们需要借助addr2line和ndk-stack两款工具来协助我们进行分析。 7.1 addr2line 现在,我们使用工具addr2line来定位位置。首先,执行如下命令。 /Users/xzh/development/sdk/ndk/21.0.6113669/toolchains/aarch64-linux-android-...