Android Navitve Crash 定位
来源:互联网 发布:淘宝的优惠券怎么领取 编辑:程序博客网 时间:2024/06/06 20:36
本文只适应于Android系统级别的开发,记录一下,没有源码不行。
异常日志如下:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***Build fingerprint: 'LeEco/LeMax2_CN/le_x2:6.0.1/FEXCNFN5902012151S/LE_X820_STATIONARY:user/release-keys'Revision: '0'ABI: 'arm64'pid: 14501, tid: 14554, name: Thread-8804 >>> com.letv.android.filemanager <<<signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0x7f6d723514 x0 0000000000000001 x1 0000007f6c7c6820 x2 0000007f6b586948 x3 0000000000000001 x4 0000007f6b586950 x5 0000000000000000 x6 0000000000000001 x7 0000000000000001 x8 0000007f8ba56f20 x9 00000000ffffffff x10 0000000000000001 x11 00000000d000000d x12 0000000000003800 x13 0000007f8bbdc000 x14 0000007f6c63b7e0 x15 0000000000000001 x16 0000007f8bf56e00 x17 0000007f8bf39cbc x18 0000000000000004 x19 0000007f6c63b7e0 x20 0000000000000000 x21 0000007f6c63b7e0 x22 00000000000d1be0 x23 0000000000000000 x24 0000007f87437600 x25 0000000000000000 x26 0000007f6c63b818 x27 0000007f6d723510 x28 0000000012e72580 x29 0000007f6b5868d0 x30 0000007f8ba62f1c sp 0000007f6b5868d0 pc 0000007f8ba62f28 pstate 0000000060000000 v0 a7e88583e680bfe69ca4e5b1b7e62f6b v1 000000000000003a6b70612e91a2e986 v2 2f302f646574616c756d652f65676172 v3 70612f79654b72657473614d69666957 v4 00000000000000000000000000000000 v5 00000000000000000000000000000000 v6 00000000000000000000000000000000 v7 e680bfe69ca4e5b1b7e62f6b70612f79 v8 00000000000000000000007f6b5873a8 v9 00000000000000000000007f87093f18 v10 00000000000000000000007fdc2cfd60 v11 00000000000000000000007fdc2cff48 v12 0000000000000000000000556dc322b8 v13 00000000000000000000007fdc2d00e8 v14 00000000000000000000000000000004 v15 00000000000000000000000000000000 v16 40100401401004014010040140100401 v17 a00a000080081000aa008810aaaaa800 v18 80200802000000008000080000100000 v19 000000000000000000000000ebad8083 v20 12e993a012e9937012e9934012e8efd0 v21 000000000000000000000000ebad8085 v22 000000000000000000000000ebad8086 v23 000000000000000000000000ebad8087 v24 00000000000000000000000000000564 v25 00000000000000000000000000000000 v26 0000000000000000ffffffffffffffff v27 000000000000000000000000ebad808b v28 000000000000000000000000ebad808c v29 000000000000000000000000ebad808d v30 000000000000000000000000ebad808e v31 000000000000000000000000ebad808f fpsr 00000010 fpcr 00000000backtrace: #00 pc 0000000000026f28 /system/lib64/libandroidfw.so (_ZN7android8ResTable11addInternalEPKvmS2_mib+192) #01 pc 0000000000019424 /system/lib64/libandroidfw.so (_ZNK7android12AssetManager20appendPathToResTableERKNS0_10asset_pathEPm+592) #02 pc 0000000000019a44 /system/lib64/libandroidfw.so (_ZNK7android12AssetManager11getResTableEb+216) #03 pc 00000000000db988 /system/lib64/libandroid_runtime.so #04 pc 000000000222049c /system/framework/arm64/boot.oat (offset 0x2219000)
出错的调用栈是backtrace下面几行,第三列的长串数字对应的出错地址:
#00 pc 0000000000026f28 /system/lib64/libandroidfw.so (_ZN7android8ResTable11addInternalEPKvmS2_mib+192) #01 pc 0000000000019424 /system/lib64/libandroidfw.so (_ZNK7android12AssetManager20appendPathToResTableERKNS0_10asset_pathEPm+592) #02 pc 0000000000019a44 /system/lib64/libandroidfw.so (_ZNK7android12AssetManager11getResTableEb+216) #03 pc 00000000000db988 /system/lib64/libandroid_runtime.so #04 pc 000000000222049c /system/framework/arm64/boot.oat (offset 0x2219000)
然后进入Android源码out/target/product/phone_name/下面执行如下命令:
aarch64-linux-android-addr2line -fC -e symbols/system/lib64/libandroidfw.so 0000000000019a44aarch64-linux-android-addr2line -fC -e symbols/system/lib64/libandroidfw.so 0000000000019424aarch64-linux-android-addr2line -fC -e symbols/system/lib64/libandroidfw.so 0000000000026f28
即可看到对应源文件的出错位置,aarch64-linux-android-addr2line工具顾名思义就是addr to line(地址转换成代码行)三条命令的执行结果分别如下,调用顺序从上到下:
android::AssetManager::getResTable(bool) const/home/letv/jenkins_slave/workspace/X2-SHIPPING-DB-WNETCOM/Android/frameworks/base/libs/androidfw/AssetManager.cpp:738 (discriminator 1)android::AssetManager::appendPathToResTable(android::AssetManager::asset_path const&, unsigned long*) const/home/letv/jenkins_slave/workspace/X2-SHIPPING-DB-WNETCOM/Android/frameworks/base/libs/androidfw/AssetManager.cpp:689android::ResTable::addInternal(void const*, unsigned long, void const*, unsigned long, int, bool)/home/letv/jenkins_slave/workspace/X2-SHIPPING-DB-WNETCOM/Android/frameworks/base/libs/androidfw/ResourceTypes.cpp:3728
1 0
- Android Navitve Crash 定位
- Android定位crash
- Android Crash 定位
- Android crash特殊位置定位
- Android Crash 分析定位脚本
- 【Android】使用NDK定位Crash
- Android crash log分析和定位
- android native code crash log定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- android addr2line + objdump定位crash 问题
- Android NDK开发Crash错误定位
- BIO,NIO,AIO
- 1092
- codevs 1860_最大数_优先队列
- Handler、Looper与message消息机制
- Datatables部分返回数据获取不到
- Android Navitve Crash 定位
- android 监听开机启动
- 深度学习为何要“deep”下
- HibernateTemplate回调函数的使用以及条件语句的拼接
- Codeforces Round #322 (Div. 2)C
- MVC
- 直播系列5-使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)
- pl/sql编程(三)标量
- 程序员解乏之歌