android 生成的.so 调试方法

readelf

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

addr2line

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

nm

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

size

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

objdump

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

ranlib

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

strip

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

gprof

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

strings

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

 

gprof使用介绍

http://hi.baidu.com/juventus/blog/item/312dd42a0faf169b033bf6ff.html

strip 命令

http://blog.csdn.net/aaronychen/archive/2008/03/18/2193735.aspx

ranlib的用法

http://blog.csdn.net/cmiaomiaozoo/archive/2009/10/28/4738910.aspx

linux 下使用 objdump 反汇编

http://blog.csdn.net/nwf5d/archive/2009/08/07/4423591.aspx

readelf命令

http://blog.csdn.net/zyp2671/archive/2010/04/02/5443770.aspx

nm命令介绍

http://blog.csdn.net/breezef/archive/2006/08/12/1054475.aspx

size 命令的用法

http://blog.csdn.net/clozxy/archive/2010/06/02/5641785.aspx

android 调试中 addr2line 命令的使用

http://blog.csdn.net/coder_jack/archive/2010/06/28/5700348.aspx

linux debug : addr2line追踪出错地址

http://blog.csdn.net/epicyong333/archive/2009/05/13/4178011.aspx

ldd 显示可执行模块的dependency

http://blog.csdn.net/chinalinuxzend/archive/2008/09/05/2887981.aspx

你可能感兴趣的:(Android开发,操作系统,调试,android应用,库)