关闭

GNU Binutils之objdump

1320人阅读 评论(2) 收藏 举报

                                     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

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:234956次
    • 积分:3162
    • 等级:
    • 排名:第10854名
    • 原创:63篇
    • 转载:19篇
    • 译文:10篇
    • 评论:17条
    最新评论