objdump说明

 
objdump有点象那个快速查看之流的工具,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。
使用objdump显示vxWorks的文件头信息以及入口地址例子:
D:\ftproot>C:\Tornado2.2Arm\host\x86-win32\bin\objdumparm -f vxWorks_SoftDebug_arm
vxWorks_SoftDebug_arm:     file format elf32-littlearm
architecture: arm, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x00010000

D:\ftproot>C:\Tornado2.2Arm\host\x86-win32\bin\objdumparm -f vxWorks_arm
vxWorks_arm:     file format elf32-littlearm
architecture: arm, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x00010000

D:\ftproot>C:\Tornado2.2Ppc\host\x86-win32\bin\objdumpppc -f vxWorks_SoftDebug_ppc
vxWorks_SoftDebug_ppc:     file format elf32-powerpc
architecture: powerpc:common, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00010000

D:\ftproot>C:\Tornado2.2Ppc\host\x86-win32\bin\objdumpppc -f vxWorks_ppc
vxWorks_ppc:     file format elf32-powerpc
architecture: powerpc:common, flags 0x00000012:
EXEC_P, HAS_SYMS
start address 0x00010000

 
 
选项
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 �Cf �Ch �Cp �Cr �Ct

你可能感兴趣的:(职场,休闲)