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 は自動的に多くのフォーマットを認識できる。例えば
- -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 |