EN JA
objdump(1)
objdump(1) GNU Development Tools objdump(1)

名前

objdump -オブジェクトファイルの情報を表示する
 

書式

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

説明

objdump は指定されたひとつ以上のオブジェクトファイルについて、その情報を表示する。オプションで表示する情報の種類を指定できる。この情報はコンパイルツールに関する作業をしているプログラマーにとってもっとも有益であろう。逆に単に自分のプログラムをコンパイルして実行させているだけの場合にはあまり役に立たないかもしれない。

objfile は調べるオブジェクトファイルである。書庫 (archive) を指定した場合には、 objdump は書庫のメンバーであるオブジェクトファイルそれぞれについての情報を表示する。

 

オプション

長い形式と短い形式が併記されている場合は、それらは等価である。少なくとも -l ( --line-numbers) 以外のオプションをひとつ指定しなければならない。
 
-a
--archive-headers
objfile に書庫が含まれている場合は、書庫のヘッダ情報を ls -l のような形式で表示する。 ar tv によって得られる情報に加え、 objdump -a ではそれぞれの書庫メンバーのオブジェクトファイルフォーマットも表示する。
 
--adjust-vma= offset
情報をダンプするときに、まず offset を全てのセクションアドレスに加える。これはセクションアドレスがシンボルテーブルに関連付けされていないときに便利である。このような状況が起こるのは、 a.out のようにセクションアドレスを持てないフォーマットの使用時に、セクションを特定のアドレスに置く場合などである。
 
-b bfdname
--target= bfdname
オブジェクトファイルのオブジェクトコードフォーマットを bfdname として取り扱う。通常これは必要ではなく、 objdump は自動的に多くのフォーマットを認識できる。例えば
 
 
objdump -b oasys -m vax -h fu.o
 
 
とすれば fu.o のセクションヘッダ (` -h') が表示される。この際 fu.o は Oasys コンパイラによって生成されたフォーマットの Vax オブジェクトファイルであるとして取り扱われる。指定可能なフォーマットのリストは ` -i' オプションによって得られる。
 
-C
--demangle
低レベルのシンボル名をユーザーレベルのシンボル名にデコード ( demangle) する。このときシステムによって前置されたアンダースコアも削除される。この操作によって C++ の関数名が可読になる。
 
--debugging
デバッグ情報を表示する。ファイル中のデバッグ情報を解析して、 C のような文法で表示しようと試みる。対応しているデバッグ情報の形式はあまり多くない。
 
-d
--disassemble
objfile の機械語命令に対応するアセンブラのニーモニックを表示する。このオプションは、命令を含むと思われるセクションのみを逆アセンブルする。
 
-D
--disassemble-all
-d と似ているが、命令を含むと思われるセクションだけでなく、全てのセクションを逆アセンブルする。
 
--prefix-addresses
逆アセンブルするとき、それぞれの行に絶対アドレスを表示する。これは古い逆アセンブルフォーマットである。
 
--disassemble-zeroes
通常逆アセンブルの出力では 0 からなるブロックはスキップする。このオプションを指定すると、これらの 0 ブロックも他のデータと同様に逆アセンブルされる。
 
-EB
-EL
--endian= {big|little}
オブジェクトファイルのエンディアンを指定する。逆アセンブルにのみ影響する。これは S-record のようなエンディアン情報を含まないフォーマットを逆アセンブルするときに効果的である。
 
-f
--file-headers
objfile のそれぞれに対して overall ヘッダ情報の要約を表示する。
 
-h
--section-headers
--headers
オブジェクトファイルのセクションヘッダ情報の要約を表示する。
 
--help
objdump のオプションの要約を表示して終了する。
 
-i
--info
オプション -b および -m と共に指定できるアーキテクチャとオブジェクトフォーマットの一覧を表示する。
 
-j name
--section= name
セクション name だけの情報を表示する。
 
-l
--line-numbers
表示しているオブジェクトコードに、ソースのファイル名と行を (デバッグ情報を用いて) 関連付けし、表示する。 -d-D-r などと同時に用いる。
 
-m machine
--architecture= machine
オブジェクトファイルを逆アセンブルするとき、アーキテクチャを指定する。これは S-record のような、アーキテクチャの情報を持たないオブジェクトファイルを逆アセンブルするときに有用である。指定可能なアーキテクチャンのリストは -i オプションによって得られる。
 
-r
--reloc
ファイルのリロケーションエントリを表示する。 -d または -D とともに用いると、エントリは逆アセンブルコードの中に埋め込まれて表示される。
 
-R
--dynamic-reloc
ファイルのダイナミックリロケーションエントリを表示する。これはある種の共有ライブラリのような、ダイナミックオブジェクトに対してのみ意味を持つ。
 
-s
--full-contents
指定したそれぞれのセクションに対して、全ての内容を表示する。
 
-S
--source
(可能であれば) ソースコードを逆アセンブル結果と混在させて表示する。 -d が暗黙のうちに指定される。
 
--show-raw-insn
マシン語を逆アセンブルするとき、命令コードを 16 進コードとシンボリックな記法と両方で表示する。これは --prefix-addresses が指定されていない場合のデフォルトである。
 
--no-show-raw-insn
マシン語を逆アセンブルするとき、16 進のバイトコードを表示しない。これは --prefix-addresses が指定された場合のデフォルトである。
 
--stabs
ELF ファイルの .stab、 .stab.index、 .stab.excl 各セクションの内容を表示する。これは .stab のデバッグ用シンボルテーブルエントリが ELF セクションに含まれているシステム (Solaris 2.0 など) に対してのみ有効である。他のほとんどのフォーマットでは、デバッグ用シンボルテーブルエントリはリンク用のシンボルに混ざっており、--syms の出力によって見ることができる。
 
--start-address= address
データの表示開始点を指定したアドレスにする。これは -d-r-s オプションの出力に対して効力を持つ。
 
--stop-address= address
データの表示終了点を指定したアドレスにする。これは -d-r-s オプションの出力に対して効力を持つ。
 
-t
--syms
ファイルのシンボルテーブルエントリを表示する。これは nm プログラムによって得られる情報とほぼ同じ。
 
-T
--dynamic-syms
ファイルの動的なシンボルテーブルエントリを表示する。これはある種の共有ライブラリのように、動的なオブジェクトの場合にのみ意味を持つ。これは nm プログラムに -D ( --dynamic) オプションを指定した場合に得られる情報とほぼ同じ。
 
--version
objdump のバージョン番号を表示して終了する。
 
-x
--all-headers
表示可能な全てのヘッダ情報を表示する。シンボルテーブル、リロケーションエントリも表示する。 -x-a -f -h -r -t の全てを指定した場合と等価である。
 

関連項目

info の ` binutils ' エントリ、 The GNU Binary Utilities, Roland H. Pesch (October 1991)、 nm( 1)
 

著作権

Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

5 November 1991 cygnus support