打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
gcc命令objdump用法

objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出 <可查到该文件的所有动态库>

  objdump -t obj 输出目标文件的符号表()

  objdump -h obj 输出目标文件的所有段概括()

  objdump -j .text/.data -S obj 输出指定段的信息,大概就是反汇编源代码把

  objdump -S obj C语言与汇编语言同时显示

  以下为网上摘录文章。

  关于nm -s的显示请自己man nm查看

  objdump命令的man手册

  objdump - 显示二进制文件信息

  objdump

  [-a] [-b bfdname |

  --target=bfdname] [-C] [--debugging]

  [-d] [-D]

  [--disassemble-zeroes]

  [-EB|-EL|--endian={big|little}] [-f]

  [-h] [-i|--info]

  [-j section | --section=section]

  [-l] [-m machine ] [--prefix-addresses]

  [-r] [-R]

  [-s|--full-contents] [-S|--source]

  [--[no-]show-raw-insn] [--stabs] [-t]

  [-T] [-x]

  [--start-address=address] [--stop-address=address]

  [--adjust-vma=offset] [--version] [--help]

  objfile...

  --archive-headers

  -a 显示档案库的成员信息,与 ar tv 类似

  objdump -a libpcap.a

  和 ar -tv libpcap.a 显示结果比较比较显然这个选项没有什么意思。

  --adjust-vma=offset

  When dumping information, first add offset to all

  the section addresses. This is useful if the sec-

  tion addresses do not correspond to the symbol

  table, which can happen when putting sections at

  particular addresses when using a format which can

  not represent section addresses, such as a.out.

  -b bfdname

  --target=bfdname

  指定目标码格式。这不是必须的,objdump能自动识别许多格式,比如:objdump -b oasys -m vax -h fu.o

  显示fu.o的头部摘要信息,明确指出该文件是Vax系统下用Oasys编译器生成的目标文件。objdump -i将给出这里可以指定的目标码格式列表

  --demangle

  -C 将底层的符号名解码成用户级名字,除了去掉所有开头的下划线之外,还使得C++函数名以可理解的方式显示出来。

  --debugging

  显示调试信息。企图解析保存在文件中的调试信息并以C语言的语法显示出来。仅仅支持某些类型的调试信息。

  --disassemble

  -d 反汇编那些应该还有指令机器码的section

  --disassemble-all

  -D 与 -d 类似,但反汇编所有section

  --prefix-addresses

  反汇编的时候,显示每一行的完整地址。这是一种比较老的反汇编格式。

  显示效果并不理想,但可能会用到其中的某些显示,自己可以对比。

  --disassemble-zeroes

  一般反汇编输出将省略大块的零,该选项使得这些零块也被反汇编。

  -EB

  -EL

  --endian={big|little}

  这个选项将影响反汇编出来的指令。

  little-endian就是我们当年在dos下玩汇编的时候常说的高位在高地址,x86都是这种。

  --file-headers

  -f 显示objfile中每个文件的整体头部摘要信息。

  --section-headers

  --headers

  -h 显示目标文件各个section的头部摘要信息。

  --help 简短的帮助信息。

  --info

  -i 显示对于 -b 或者 -m 选项可用的架构和目标格式列表。

  --section=name

  -j name 仅仅显示指定section的信息

  --line-numbers

  -l 用文件名和行号标注相应的目标代码,仅仅和-d、-D或者-r一起使用使用-ld和使用-d的区别不是很大,在源码级调试的时候有用,要求编译时使用了-g之类的调试编译选项。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
arm-linux-objdump反汇编
如何查看编译器及文件是小端序little endian还是大端序big endian,或者32位还是64位?
OBJ文件格式分析工具: objdump, nm,ar
二进制实用程序(objdump, readelf,ar, nm等)(收藏)
从源文件到可执行文件:源文件的预处理、编译、汇编、链接
嵌入式Linux学习笔记(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服