objdump命令的man手冊
objdump [-a][-bbfname| --target=bfdname][-C][--debugging] [-d][-D] [--disassemble-zeroes] [-EB|-EL|--endian={big|little}][-f] [-h][-i|--info] [-jsection|--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之類的調試編譯選項。--architecture=machine-m machine 指定反匯編目標文件時使用的架構,當待反匯編文件本身沒有描述 架構信息的時候(比如S-records),這個選項很有用??梢杂?i選項 列出這里能夠指定的架構--reloc-r 顯示文件的重定位入口。如果和-d或者-D一起使用,重定位部分以反匯 編后的格式顯示出來。--dynamic-reloc-R 顯示文件的動態重定位入口,僅僅對于動態目標文件有意義,比如某些 共享庫。--full-contents-s 顯示指定section的完整內容。 objdump --section=.text -s inet.o | more--source-S 盡可能反匯編出源代碼,尤其當編譯的時候指定了-g這種調試參數時, 效果比較明顯。隱含了-d參數。--show-raw-insn 反匯編的時候,顯示每條匯編指令對應的機器碼,除非指定了 --prefix-addresses,這將是缺省選項。--no-show-raw-insn 反匯編時,不顯示匯編指令的機器碼,這是指定 --prefix-addresses 選項時的缺省設置。--stabs Display the contents of the .stab, .stab.index, and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debug- ging symbol-table entries are interleaved with linkage symbols, and are visible in the --syms output.--start-address=address 從指定地址開始顯示數據,該選項影響-d、-r和-s選項的輸出。--stop-address=address 顯示數據直到指定地址為止,該選項影響-d、-r和-s選項的輸出。--syms-t 顯示文件的符號表入口。類似于nm -s提供的信息--dynamic-syms-T 顯示文件的動態符號表入口,僅僅對動態目標文件有意義,比如某些 共享庫。它顯示的信息類似于 nm -D|--dynamic 顯示的信息。--version 版本信息 objdump --version--all-headers-x 顯示所有可用的頭信息,包括符號表、重定位入口。-x 等價于 -a -f -h -r -t 同時指定。 objdump -x inet.o
新聞熱點
疑難解答