Android调试.so库常用工具


readelf

显示目标ELF文件的信息,比如信赖库,头信息,段信息等。

addr2line

用户进程崩溃时内核会记录一些基本的调试信息,如果进程执行的ELF文件包含调试符号,就可以通过addr2line找到源文件中哪一行出问题。我在调试Android的VM崩溃问题时使用到了这个工具(详细过程参考这里)

nm

列出目标文件的符号清单,当没有输入文件名时,默认为a.out。

size

显示一个目标文件或者链接库文件中的目标文件的各个段的大小,当没有输入文件名时,默认为a.out。

objdump

它主要是查看ELF目标文件的内容信息

ranlib

对静态库的符号索引表进行更新

strip

通过除去绑定程序和符号调试程序使用的信息,减少扩展公共对象文件格式(XCOFF)的对象文件的大小

gprof

可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。

strings

列出文件中的可打印字符串

推荐阅读:

Android 调试.so库文件

gprof使用介绍

strip 命令

ranlib的用法

linux 下使用 objdump 反汇编

readelf命令

nm命令介绍

size 命令的用法

android 调试中 addr2line 命令的使用

linux debug : addr2line追踪出错地址

相关内容