读书人

readelf,objcopy,objdump施用笔记

发布时间: 2012-08-11 20:50:30 作者: rapoo

readelf,objcopy,objdump使用笔记

前些天做了两件事,1.strip符号表;2.查看so文件的代码是否inline。操作步骤如下

?

1.

??? readelf -sW libjvm.so | grep 'OBJECT *LOCAL *HIDDEN' | awk '{print $8}' | egrep '[.][0-9]+$' > strip_sym.lst

??? objcopy --strip-symbols=strip_sym.lst -v xxx.so

??? 这样得到的新so文件就不含有strip掉的符号信息了,strip过程时间会稍长一点。

?

2.

??? objdump -dw xxx.so > dumpxxx.txt

??? 通过dump出来的文件,可以看到汇编代码,进而判断函数是否inline了。

?

一、readelf

man的描述,readelf - Displays information about ELF files

?

??? 什么是elf

??? Executable and linking format(ELF)文件是x86 Linux系统下的一种常用目标文件(object file)格式,具体可以继续去查一些资料。

?

??? -s选项是读符号信息,-W是整行输出,不截断。具体用法可以看man的文档

?

?

二、objcopy

??? man的描述,objcopy - copy and translate object files

?

??? --strip-symbols选项是要strip掉的符号存储文件,具体用法参看man文档

?

三、objdump

??? man的描述,objdump - display information from object files.

?

??? -d选项是输出汇编信息,-w是整行输出,不截断。具体用法参看man文档

?

读书人网 >操作系统

热点推荐