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
选项给链接器,以指定
text
,
data
,
bss
的具体地址。特别是在嵌入式系统开发过程中,常常需要指定这些地址。
|
-i
--info
|
显示支持的
bfdname
和
machine
。其中
bfdname
可以用作
-b bfdname
,
machine
可用于
-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
|
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1799170