Go to the first, previous, next, last section, table of contents.


objdump

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

@command{objdump}は,一つ以上のオブジェクトファイルに関する情報を表示し ます.オプションで,表示する情報を制御します.この情報は,プログラムをコ ンパイルして動作させたいだけのプログラマより,コンパイルツールに関する作 業をしているプログラマに対し最も役に立ちます.

objfile...は,調査されるオブジェクトファイルです.アーカイブを 指定したとき,@command{objdump}は,それぞれのメンバーオブジェクトファイ ルの情報を表示します.

ここに交互に表示しているオプションの長い形式と短い形式は等価です.リスト の@option{-a,-d,-D,-f,-g,-G,-h,-H,-p,-r,-R,-S,-t,-T,-V,-x}から少なくとも 一つのオプションを与える必要があります.

@env{-a}
@env{--archive-header}
objfileファイルがすべてアーカイブの場合,アーカイブヘッダ情報を表 示します(書式は`ls -l'に似ています).`ar tv'を用いてリストアッ プ可能な情報に加え,`objdump -a'は,それぞれのアーカイブのメンバー のオブジェクトファイルのフォーマットを表示します.
@env{--adjust-vma=offset}
情報をダンプしているとき,最初に,すべてのセクションアドレスに offsetを加えます.これは,セクションアドレスがシンボルテーブルに対 応していない場合便利で,それは,a.outのようなセクションアドレスが 存在しないフォーマットを使用しているとき,セクションを特定のアドレスに配 置するとき発生します.
@env{-b bfdname}
@env{--target=bfdname}
オブジェクトファイルに対するオブジェクトコードのフォーマットを bfdnameに指定します.このオプションは不要かもしれません. objdumpは,自動的に多くのフォーマットを認識することが可能です. 例えば,以下のようにします.
objdump -b oasys -m vax -h fu.o
それは,`fu.o'のセクションヘッダ(@option{-h})からの情報の概要を表示 し,それは特に,Oasysコンパイラで生成されるフォーマットのVAXオブジェクト ファイルとして認識(@option{-m})されます.@option{-i}オプションを用いて利 用可能なフォーマットをリストアップすることが可能です.詳細は, See section ターゲットの選択.
@env{-C}
@env{--demangle[=style]}
低レベルのシンボル名をユーザレベルの名前に復号(demangle)します.シ ステムによって前置される,最初のすべてのアンダースコアを削除するだけでな く.これはC++関数名を可読にします.異なるコンパイラでは,mangle形式が異 なります.追加のdemangle形式の引数は,コンパイラに対する適切なdemangle形 式を選択するために使用可能です.demangleの情報は,See section c++filt.
@env{-G}
@env{--debugging}
デバッグ情報を表示します.これは,ファイルに保存されているデバッグ情報の 解析を試み,Cのような構文を使用してそれを出力します.デバッグ情報の特定 の形式のみ実装されています.
@env{-d}
@env{--disassemble}
objfileから,機械語命令に対するアセンブラニーモニックを表示します. このオプションは,命令を含むことを期待されるそれらのセクションを,逆アセ ンブルするだけです.
@env{-D}
@env{--disassemble-all}
@option{-d}に似ていますが,命令を含むことを期待されるものだけでなく,す べてのセクションの内容を逆アセンブルします.
@env{--prefix-addresses}
逆アセンブルしているとき,それぞれの行に絶対アドレスを出力します.これは より古い逆アセンブルの書式です.
@env{--disassemble-zeroes}
通常逆アセンブルの出力はゼロブロックをスキップします.このオプションは, それらのブロックを他のデータと同じように逆アセンブルする,直接的な逆アセ ンブラです.
@env{-EB}
@env{-EL}
@env{--endian={big|little}}
オブジェクトファイルのエンディアンを指定します.これは逆アセンブラにのみ 効果があります.これは,S-recordのような,エンディアン情報を記述していな いファイルフォーマットを逆アセンブルしているとき役に立つはずです.
@env{-f}
@env{--file-header}
それぞれのobjfileファイルのヘッダ全体からの情報の概要を表示します.
@env{--file-start-context}
まだ表示されていない,内部にリストアップされているソースコード/ファイル から逆アセンブルされたもの(おそらく@option{-S})を表示しているとき,コン テクストをファイルの先頭まで拡張することを指定します.
@env{-h}
@env{--section-header}
@env{--header}
オブジェクトファイルのセクションヘッダの情報の概要を表示します. ファイルのセグメントは,非標準のアドレスに再配置され,例えば, @option{-Ttext},@option{-Tdata},または@option{-Tbss}オプションが @command{ld}で使用されています.しかし,a.outのようなオブジェクト ファイルのフォーマットによっては,ファイルセグメントの開始アドレスを保存 しないものもあります.そのような状況では,@command{ld}がセクションを正し く再配置しますが,ファイルのセクションのヘッダのリストに`objdump -h'を使用しても,正しいアドレスを表示することは不可能です.その代わりに, それは通常のアドレスを表示し,それらはターゲットに対して暗黙のうちに行わ れます.
@env{--help}
@command{objdump}に対するオプションの概要を出力し,終了します.
@env{-i}
@env{--info}
@option{-b}や@option{-m}を用いて指定可能な,すべてのアーキテクチャとオブ ジェクトのフォーマットを示すリストを表示します.
@env{-j name}
@env{--section=name}
セクションnameに対する情報のみ表示します.
@env{-l}
@env{--line-numbers}
(デバッグ情報を使用した)表示に,表示されているオブジェクトコードや再配置 に一致しているファイル名とソースの行番号を用いてラベル付けします. @option{-d},@option{-D},または@option{-r}を用いた場合のみ有益です.
@env{-m machine}
@env{--architecture=machine}
オブジェクトファイルの逆アセンブル時に,使用するアーキテクチャを指定しま す.これは,S-recordのような,アーキテクチャ情報が記述されていないオブジェ クトファイルを逆アセンブルするとき役に立ちます.@option{-i}オプションを 用いて,利用可能なアーキテクチャをリストアップすることが可能です.
@env{-M options}
@env{--disassembler-options=options}
ターゲット指定の情報を逆アセンブラに渡します.いくつかのターゲットだけを サポートします. ターゲットがARMアーキテクチャの場合,逆アセンブラが使用されている間に使 用するレジスタ名のセットを選択するために,このスイッチを使用することが可 能です.@option{-M reg-name-std} (デフォルト)を指定すると,ARMの命令セッ トのドキュメントで使用しているレジスタ名を選択しますが,'sp'と呼ばれるレ ジスタ13,'lr'と呼ばれるレジスタ14,そして'pc'と呼ばれるレジスタ15 レジ スタは除きます.@option{-M reg-names-apcs}を指定すると,ARM Procedure Call Standardで使用されている名前のセットを選択するのに対し,@option{-M reg-names-raw}を指定すると,`r'にレジスタ番号が続いたものを使用しま す. APCSレジスタ命名規則には二つの変形があり,@option{-M reg-names-atpcs}と @option{-M reg-names-special-atpcs}により利用可能で,それはARM/Thumb Procedure Call Standard命名規約を使用します.(通常のレジスタ名,または, 特殊なレジスタ名のどちらかを使用します.) このオプションは,ARMアーキテクチャに対し,スイッチ @option{--disassembler-options=force-thumb}を使用して,すべての命令を Thumb命令として解釈するように逆アセンブラに強制するためにも使用可能です. 他のコンパイラで生成される thumb コードの逆アセンブラを試みるとき,これ は役に立つはずです. x86に対して,オプションによっては@option{-m}のスイッチの機能を複製します が,よりきめ細かい制御が可能になります.以下の複数のセクションをカンマで 分けられた文字列として指定してもかまいません.@option{x86-64}, @option{i386},そして@option{i8086}は該当するアーキテクチャに対する逆ア センブルを選択します.@option{intel}と@option{att}は,インテルの構文のモー ドとAT&Tの構文のモードを選択します.@option{addr32},@option{addr16}, @option{data32},そして@option{data16}は,デフォルトのアドレスサイズとオ ペランドサイズを指定します.これらの四つのオプションは,それ以降のオプショ ン文字列に@option{x86-64},@option{i386},または@option{i8086}が現れる場 合は,そちらが優先されます.最後は@option{suffix}で,これはAT&Tモードの とき,サフィックスがオペランドで推測可能なときでさえ,ニーモニックサフィッ クスを逆アセンブラは出力します. PPCに対し,@option{booke},@option{booke32},そして@option{booke64}は BookE命令の逆アセンブラを選択します.@option{32}と@option{64}は,それぞ れPowerPCとPowerPC64の逆アセンブラを選択します.
@env{-p}
@env{--private-headers}
オブジェクトファイルのフォーマット特有の情報を出力します.出力される厳密 な情報はオブジェクトファイルのフォーマットに依存します.オブジェクトファ イルのフォーマットによっては,追加情報は出力されません.
@env{-r}
@env{--reloc}
ファイルの再配置エントリを出力します.@option{-d}や@option{-D}とともに使 用される場合,再配置は逆アセンブルの中にバラバラに出力されます.
@env{-R}
@env{--dynamic-reloc}
ファイルの動的な再配置エントリを出力します.これは,ある形式の共有ライブ ラリのような,動的オブジェクトのみで意味があります.
@env{-s}
@env{--full-contents}
要求されたあらゆるセクションの,すべての内容を表示します.
@env{-S}
@env{--source}
可能な場合,逆アセンブラの中にソースコードを混ぜて表示します.@option{-d} が暗黙のうちに指定されます.
@env{--show-raw-insn}
命令を逆アセンブルするとき,命令をシンボリック形式と同様に16進で出力しま す.@option{--prefix-addresses}が使用されているとき以外,これはデフォル トです.
@env{--no-show-raw-insn}
命令を逆アセンブルするとき,命令バイトを出力しません.これは @option{--prefix-addresses}が使用されているときデフォルトです.
@env{-G}
@env{--stabs}
要求されるすべてのセクションの内容を全部表示します.ELFファイルの .stab と .stab.indexと .stab.exclセクションの内容を表示します.これは, .stabデバッグシンボルテーブルのエントリーがELFのセクションに運び 込まれる(Solaris 2.0のような)システムでのみ役に立ちます.そのほかのほと んどのフォーマットでは,デバッグシンボルテーブルのエントリーは,リンクシ ンボルとともにバラバラに配置され,@option{--syms}の出力で見ることが可能 となります. スタブシンボルの詳細は,section `Stabs Overview' in The "stabs" debug formatを参照してください.
@env{--start-address=address}
データの表示を,指定したアドレスで開始します.これは@option{-d}, @option{-r},そして@option{-s}オプションの出力に効果があります.
@env{--stop-address=address}
データの表示を,指定したアドレスで停止します.これは@option{-d}, @option{-r},そして@option{-s}オプションの出力に効果があります.
@env{-t}
@env{--syms}
ファイルのシンボルテーブルのエントリーを出力します.これは,`nm'プ ログラムで提供される情報に似ています.
@env{-T}
@env{--dynamic-syms}
ファイルの動的シンボルテーブルのエントリーを表示します.これは,特定の形 式の共有ライブラリのような,動的オブジェクトに対してのみ意味があります. これは,@option{-D} (@option{--dynamic})オプションが与えられている `nm'プログラムで提供される情報に似ています.
@env{--version}
@command{objdump}のバージョンナンバーを出力し終了します.
@env{-x}
@env{--all-header}
利用可能なヘッダ情報をすべて表示し,それはシンボルテーブルと,再配置エン トリを含みます.@option{-x}を用いると,@option{-a -f -h -r -t}をすべて指 定したものと等価になります.
@env{-w}
@env{--wide}
80列以上の出力デバイスに対し,数行で書式化します.また,表示するときにシ ンボル名を切り詰めません.


Go to the first, previous, next, last section, table of contents.