addr2line命令解析native backtrace
来源:互联网 发布:中国陆军俄罗斯知乎 编辑:程序博客网 时间:2024/05/17 02:18
内容
带symbols信息的lib库位于out/target/product/{ProjectName}/symbols/system/lib/
注意:lib库必须是与用来复现问题的bin档同一次build出来的才可以;
注意:lib库必须是与用来复现问题的bin档同一次build出来的才可以;
Q:如何check lib库是否带有symbols?
A:将lib库copy到linux 开发环境下,在linux Terminal(终端命令行窗口)里面通过file命令来check:
file libhwui.so
若印出的信息后面带有not stripped,则是带symbols信息;
若是stripped,则不带symbols信息;
addr2line使用方法:
步骤一:将需要解析的backtrace对应的lib库拷贝到android gcc目录下
若是64位lib库,将带symbols信息的lib库拷贝到任意一份Android L及以上版本的代码路径下:platform(alps)/prebuilts/gcc/linux-x86/aarch64/cit-aarch64-linux-android-4.9/bin/
若是32位的lib库,将带symbols信息的lib库拷贝到Android KK某版本对应代码下:
platform(alps)/prebuilts/gcc/linux-x86/arm/cit-arm-linux-androideabi-4.8/bin/
备注:黄色部分的路径不一定非要是cit开头的,在该目录下找一个版本最新的目录进去即可
步骤二:用addr2line来逐行解析backtrace:
例如SWT_JBT_TRACES里面某2行trace是:
native: #02 pc 00077540 /system/lib64/libhwui.so
native: #03 pc 00051d90 /system/lib64/libhwui.so
那么如下命令就可以解析出上述trace的代码行号:
addr2line -C -e libhwui.so -f 0x77540
如下是上述2行trace的解析记录:
[xxx@mszswglx07 bin]$addr2line -C -e libhwui.so -f 0x77540
android::uirenderer::Task<android::uirenderer::VertexBuffer*>::getResult() const
/home/jenkins/workspace/5918/build_chambal_cosmos/linux_repo/system/core/include/utils/Condition.h:106
[xxx@mszswglx07 bin]$addr2line -C -e libhwui.so -f 0x51d90
android::uirenderer::OpenGLRenderer::drawRoundRect(float, float, float, float, float, float, SkPaint const*)
/home/jenkins/workspace/5918/build_chambal_cosmos/linux_repo/frameworks/base/libs/hwui/OpenGLRenderer.cpp:2660
阅读全文
0 0
- addr2line命令解析native backtrace
- Native堆栈解析addr2line
- addr2line命令
- addr2line命令
- addr2line命令
- addr2line命令
- addr2line命令
- addr2line命令
- addr2line命令
- backtrace函数和addr2line工具 ---抛异常 类实现
- backtrace函数和addr2line工具 C函数实现
- addr2line解析栈信息
- shell解析addr2line文件
- addr2line解析墓碑工具
- addr2line objdump命令使用方法
- addr2line命令使用
- addr2line
- addr2line
- js连接数据库
- 二叉树的镜像
- 二维数组中某一元素的查找
- [leetcode: Python]572. Subtree of Another Tree
- struts2中 valueStack(值栈) 与actionContext
- addr2line命令解析native backtrace
- Java的概念
- jquery删除动态生成的div,删除不成功
- POJ1160 Post Office 四边形不等式优化
- String框架提供的一些工具类
- 两数之和
- [OpenCV] -- win7下配置OpenCV的Qt开发环境
- Formality形式化验证脚本范本
- Linux shell中运行命令后加上字符“&”的作用