GNU Binutils之objdump

原创 2007年09月24日 22:59:00

                                     GNU Binutils之objdump

                                                                    作者:makethyme

 

格式如下:
objdump [‘-a’|‘--archive-headers’]
[‘-b’ bfdname|‘--target=bfdname’]
[‘-C’|‘--demangle’[=style] ]
[‘-d’|‘--disassemble’]
[‘-D’|‘--disassemble-all’]
[‘-z’|‘--disassemble-zeroes’]
[‘-EB’|‘-EL’|‘--endian=’{big | little }]
[‘-f’|‘--file-headers’]
[‘--file-start-context’]
[‘-g’|‘--debugging’]
[‘-e’|‘--debugging-tags’]
[‘-h’|‘--section-headers’|‘--headers’]
[‘-i’|‘--info’]
[‘-j’ section|‘--section=’section]
[‘-l’|‘--line-numbers’]
[‘-S’|‘--source’]
[‘-m’ machine|‘--architecture=’machine]
[‘-M’ options|‘--disassembler-options=’options]
[‘-p’|‘--private-headers’]
[‘-r’|‘--reloc’]
[‘-R’|‘--dynamic-reloc’]
[‘-s’|‘--full-contents’]
[‘-W’|‘--dwarf’]
[‘-G’|‘--stabs’]
[‘-t’|‘--syms’]
[‘-T’|‘--dynamic-syms’]
[‘-x’|‘--all-headers’]
[‘-w’|‘--wide’]
[‘--start-address=’address]
[‘--stop-address=’address]
[‘--prefix-addresses’]
[‘--[no-]show-raw-insn’]
[‘--adjust-vma=’offset]
[‘--special-syms’]
[‘-V’|‘--version’]
[‘-H’|‘--help’]
objfile...
 

选项如下:

  

选项
Desc
-a
--archive-header
有库文件时,显示库文件的头信息。即显示该库文件由那些什么格式的目标文件组成
-b bfdname
--target=bfdname
指定目标文件的格式
-C
--demangle[=style]
将低级符号名解析成用户级符号名。这样可以使C++函数具有可读性。例如00000000 T _ZN6MyTest3sumEii被解析成00000000 T MyTest::sum(int, int)。这样一来这样的符号便具有可读性
-g
--debugging
显示目标文件的调试信息
-d
--disassemble
反汇编含代码的段
-D
--disassemble-all
反汇编所有的段
-EB
-EL
--endian={big|little}
指定目标文件的endian
-f
--file-headers
显示目标文件的头信息
-h
--section-headers
--headers
显示目标文件的section headers。注意,在链接的过程中,会传递-Ttext-Tdata-Tbss选项给链接器,以指定textdatabss的具体地址。特别是在嵌入式系统开发过程中,常常需要指定这些地址。
-i
--info
显示支持的bfdnamemachine。其中bfdname可以用作-b bfdnamemachine可用于-m machine
-l
-line-numbers
配合-d-D-r选项,列出源文件和汇编代码之间的对应关系
-m machine
--architecture=machine
指定目标文件的architecture
-p
--private-headers
显示属于该目标文件格式特有的一些信息,如:
vector.o:     file format elf32-m68hc12
private flags = 2:[abi=16-bit int, 64-bit double, cpu=HC12] [memory=flat]
-r
--reloc
显示relocation entries。如源文件为
int abc(int a, int b);
int sum(int a, int b)
{
   return abc(a,b);
}
查看relocation entries,便会发现有一个“_abc”的entry
-R
--dynamic-reloc
查看文件的dynamic relocation entries
-s
--full-contents
查看section的全部内容
-S
--source
反汇编时,将source code和汇编代码对应出来
--show-raw-insn
反汇编时,以16进制格式列出具体指令码
--no-show-raw-insn
反汇编时,不列出具体指令码
-t
--syms
列出symbol table entries
-T
--dynamic-syms
列出dynamic symbol table entries
-V
--version
列出objdump的版本号
-x
--all-headers
列出所有的头信息header information,该选项等同于-a –f –h –p –r –t

 

相关文章推荐

Linux江湖08:使用GCC和GNU Binutils编写能在x86实模式运行的16位代码

Linux江湖08:使用GCC和GNU Binutils编写能在x86实模式运行的16位代码 http://www.cnblogs.com/youxia/p/linux008.html ...

GNU binutils二进制工具集

GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法...

GNU binutils工具使用

摘自:http://blog.csdn.net/yangbomy/archive/2007/04/29/1591507.aspx GNU binutils工具使用GNU binutils是一组...

gnu binutils

GNU binutils是一组二进制工具集。 binutils包含底下这些指令: as 汇编器 ld 连接器 gprof 性能分析工具程序 addr2lin...

GNU binutils工具集

objdump 反汇编各种格式的目标文件和可执行程序 eg.objdump  [option(s)] [file(s)] 常用选项:      -d 只反汇编代码段      -D 反汇编代码...

GNU 的連結工具 (ld, nm, objdump, ar)

http://sp1.wikidot.com/gnulinker 在本文中,我們將示範如何使用 GNU 的連結工具,這包含目的檔格式的觀察、函式庫的建立、程式的編譯與連結等。 首先,請...

GNU Binutils详解

  • 2017年10月11日 15:29
  • 241KB
  • 下载

Understanding-ELF-using-readelf-and-objdump

  • 2017年04月11日 10:43
  • 410KB
  • 下载

关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结

一、关于gcc、glibc和binutils模块之间的关系 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器...

gdb——objdump.txt

  • 2012年09月15日 09:09
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GNU Binutils之objdump
举报原因:
原因补充:

(最多只允许输入30个字)