readelf,objcopy,objdump使用笔记

本文介绍如何使用readelf、objcopy和objdump工具进行strip符号表及检查so文件中的函数是否被内联的方法。通过这些步骤,可以有效地管理和分析目标文件中的符号信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前些天做了两件事,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文档

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值