書式
- 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
の全てを指定した場合と等価である。
著作権
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.