objdump 目标文件分析

objdump是GCC工具链中用于分析目标文件和可执行文件的工具,能够显示文件头信息、反汇编代码、重定位入口等。常用参数包括:-f展示文件头,-d/-D反汇编代码,-h显示section摘要,-x显示所有头信息,-i列出架构和格式,-j结合-s查看特定section,-l标注行号,-r/-R显示重定位信息,-s显示section内容,-S源码级反汇编,-t显示符号表。示例包括不同参数组合的使用方法。

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

objdump是用来查看目标文件或者可执行的目标文件的构成的gcc工具。

1、常用参数说明

  • -f:显示文件头信息
  • -d:从objfile中反汇编那些特定指令机器码的section
  • -D:反汇编所有section
  • -h:显示目标文件各个section的头部摘要信息
  • -x:显示所有可用的头信息,包括符号表、重定位入口。-x 等价于 -a -f -h -r -t 同时指定
  • -i:显示对于 -b 或者 -m 选项可用的架构和目标格式列表
  • -j name:仅仅显示指定名称为name的section的信息,需与-s一起用
  • -l:用文件名和行号标注相应的目标代码,仅仅和-d、-D或者-r一起使用使用-ld和使用-d的区别不是很大,在源码级调试的时候有用,要求编译时使用了-g之类的调试编译选项
  • -r:显示文件的重定位入口。如果和-d或者-D一起使用,重定位部分以反汇编后的格式显示出来
  • -R:显示文件的动态重定位入口,仅仅对于动态目标文件有意义,比如某些共享库
  • -s:显示指定section的完整内容。默认所有的非空section都会被显示
  • -S:尽可能反汇编出源代码,尤其当编译的时候指定了-g这种调试参数时,效果比较明显。隐含了-d参数。
  • -t:显示文件的符号表入口。类似于nm -s提供的信息

2、示例

1、显示可用的架构和目标结构列表

objdump -i

2、显示目标文件各个段的头部摘要信息

objdump -h mytest.o

3、反汇编目标文件的特定机器码段

objdump -d mytest.o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值