如何使用arm-linux-androideabi-addr2line
来源:互联网 发布:康佳电视机软件下载 编辑:程序博客网 时间:2024/05/22 11:36
老是记不住,特转载一篇文章,以供后续使用。
原文:http://blog.csdn.net/yanzheng1113/article/details/8148091
arm-linux-androideabi-addr2line
1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如:
export PATH=$PATH:~/dlna/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
2.使配置生效:source ~/.bashrc
3.使用工具。例如:
arm-linux-androideabi-addr2line -C -f -e ~/workspace/DLNA/libs/armeabi/libctrlpt.so 0003deb4其中,0003deb4为堆栈信息中pc的值。
android应用崩溃的调试方法
有两种方法可以分析 crash 的堆栈信息
1 google提供了一个python脚本,可以从
http://code.google.com/p/android-ndk-stacktrace-analyzer/
下载这个python脚本,然后使用 adb logcat -d > logfile 导出 crash 的log,
使用 arm-eabi-objdump 位于build/prebuilt/linux-x86/arm-eabi-4.2.1/bin下面
把so或exe转换成汇编代码,如:
arm-eabi-objdump -S mylib.so > mylib.asm,使用脚本
python parse_stack.py <asm-file> <logcat-file>
2 直接使用NDK下面的arm-linux-androideabi-addr2line
(D:\android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-addr2line.exe)
例如:
arm-linux-androideabi-addr2line -C -f -e libxxx.so 0x#####(address)
android调试工具addr2line使用补充
使用addr2line追踪自有动态库(so文件)的bug, 补充:
解决出现 ??:0 , 没法展示源代码行数的问题
在Android.mk 文件中:
Java代码
LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS -Wl,-Map=test.map -g
补充2个编译参数 -Wl,-Map=test.map -g .
增加gcc警告和调试标志
arm-linux-androideabi-addr2line -C -f -e /项目目录/obj/local/armeabi/libfaa_jni.so 0024362e
tip: 1,注意调试文件的位置在obj目录下,并非libs目录下生成的so文件
2,0024362e 为出错的机制位置
还有:
在jni/目录下增加Application.mk 文件, 修改为debug 模式,进行调试 APP_OPTIM := debug
具体application.mk 文件的配置见: http://blog.csdn.net/weidawei0609/article/details/6561280
- 20120815如何使用arm-linux-androideabi-addr2line
- 如何使用arm-linux-androideabi-addr2line
- 如何使用arm-linux-androideabi-addr2line
- 如何使用arm-linux-androideabi-addr2line
- arm-linux-androideabi-addr2line
- arm-linux-androideabi-addr2line
- NDK调试arm-linux-androideabi-addr2line工具的使用
- Android debug :arm-linux-androideabi-addr2line
- arm-linux-androideabi-addr2line android 崩
- Android NDK so crash,定位目标代码使用 arm-linux-androideabi-addr2line
- arm-linux-androideabi-addr2line android定位CRASH问题利器
- 使用arm-linux-androideabi-readelf命令
- arm-linux-androideabi-gcc
- arm-linux-androideabi-**工具
- arm-linux-androideabi-readelf
- arm-linux-androideabi-ld options
- arm-linux-androideabi-gcc 选项
- prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gcc问题解决
- C++中的封装、继承、多态
- IOS学习经验总结
- Cortex-M3 (NXP LPC1788)之IIC应用--PCA9532进行IO扩展和LED亮度控制
- 一步步学习微软InfoPath2010和SP2010--第五章节--添加逻辑和规则到表单(6)--使用规则创建多视图样式向导表单
- grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)
- 如何使用arm-linux-androideabi-addr2line
- 在CentOS6.5上安装Code::Blocks
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- char * 与 char[]的区别及C++ Memory Layout
- IOS学习笔记:视图之间传值的方法
- poj2586 贪心
- linux shell 创建序列数组(list,array)方法
- POJ 1745 Divisibility
- IoC使用方法