OBJDUMP(1) | GNU Development Tools | OBJDUMP(1) |
名称
objdump -オブジェクトファイルから情報を表示する書式
objdump [ -a| --archive-headers][ -b bfdname| --target= bfdname]
[ -C| --demangle[= style] ]
[ -d| --disassemble]
[ -D| --disassemble-all]
[ -z| --disassemble-zeroes]
[ -EB| -EL| --endian={big | little }]
[ -f| --file-headers]
[ --file-start-context]
[ -g| --debugging]
[ -e| --debugging-tags]
[ -h| --section-headers| --headers]
[ -i| --info]
[ -j section| --section= section]
[ -l| --line-numbers]
[ -S| --source]
[ -m machine| --architecture= machine]
[ -M options| --disassembler-options= options]
[ -p| --private-headers]
[ -r| --reloc]
[ -R| --dynamic-reloc]
[ -s| --full-contents]
[ -W| --dwarf]
[ -G| --stabs]
[ -t| --syms]
[ -T| --dynamic-syms]
[ -x| --all-headers]
[ -w| --wide]
[ --start-address= address]
[ --stop-address= address]
[ --prefix-addresses]
[ --[no-]show-raw-insn]
[ --adjust-vma= offset]
[ --special-syms]
[ -V| --version]
[ -H| --help]
objfile...
解説
objdump は、複数のオブジェクトファイルに関する情報を表示します。オプションは、特定のどの情報を表示するかを制御します。この情報は、単にプログラムをコンパイルして動かしたいプログラマとは対照的に、コンパイルツールで仕事しているほとんどプログラマの役に立ちます。objfile... は、調べられるオブジェクトファイルです。利用者がアーカイブを指定すると、 objdump は、それぞれのメンバのオブジェクトファイルに関する情報を表示します。
オプション
代わりの方法として示されている、オプションの長い形式と短い形式は、同等です。少なくともリスト -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-r,-R,-s,-S,-t,-T,-V,-x のうちの 1 つのオプションを与えなければなりません。- -a
- --archive-header
- 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
- -C
- --demangle[= style ]
- 低レベルのシンボル名をユーザレベル名にデコード ( demangle) します。システムによって先頭に追加された始めの下線 (underscore) を取り除くことに加えて、これは、C++ 関数名を読み込み可能とします。コンパイラが変われば、マングル (mangle) スタイルも変わります。利用者のコンパイラのための適切なデマングル (demangle) スタイルを選択するためにオプションのデマングル (demangle) スタイルをを使用することができます。
- -g
- --debugging
- デバッグ情報を表示します。ファイルに格納されたデバッグ情報を解析して、C 言語のような構文を使用して、それを印刷することを試みます。デバッグ情報の特定のタイプだけが実装されています。他のタイプは、 readelf -w によってサポートされています。
- -e
- --debugging-tags
- -g に似ていますが、情報は、ctags ツールと互換性のある形式で生成されます。
- -d
- --disassemble
- objfile から機械語命令に対するアセンブラニーモニックを表示します。このオプションは、命令を含むと予想されるセクションのみを逆アセンブルします。
- -D
- --disassemble-all
- -d に似ていますが、命令を含むと予想されるセクションだけでなく、すべてのセクションの内容を逆アセンブルします
- --prefix-addresses
- 逆アセンブルするときに、各行で完全なアドレスを印刷します。これは、より古い逆アセンブル形式です。
- -EB
- -EL
- --endian={big|little}
- オブジェクトファイルのエンディアンを指定します。これは、逆アセンブルのみに影響します。 S レコードのような、エンディアン情報を記述していないファイル形式を逆アセンブルするとき、これは役に立つかもしれません。
- -f
- --file-headers
- 各 objfile ファイルの全体的なヘッダから概要情報を表示します。
- --file-start-context
- まだ表示されていないファイルから交互にリストされたソースコード/逆アセンブル ( -S を仮定します) を表示するとき、コンテキストをファイルの始まりまで拡張することを指定します。
- -h
- --section-headers
- --headers
-
オブジェクトファイルのセクションヘッダから概要情報を表示します。
- -H
- --help
- objdump オプションの概要を印刷して、終了します。
- -i
- --info
- -b または -m で指定できる、すべてのアーキテクチャを示すリストと利用可能なオブジェクト形式を表示します。
- -j name
- --section= name
- name セクションの情報のみを表示します。
- -l
- --line-numbers
- ファイル名が付いた (デバッグ情報を使用する) 表示と、オブジェクトコードまたは表示された再配置情報と対応するソース行番号をラベル付けします。 -d, -D または -r でのみ便利です。
- -m machine
- --architecture= machine
- オブジェクトファイルを逆アセンブルするとき使用するアーキテクチャを指定します。 S レコードのような、アーキテクチャ情報を記述していない、オブジェクトファイルを逆アセンブルするとき、これは役に立つかもしれません。利用者は、 -i オプションで利用可能なアーキテクチャをリストできます。
- -M options
- --disassembler-options= options
-
ターゲット特有の情報を逆アセンブラに渡します。いくつかのターゲットでのみサポートされています。 2 つ以上の逆アセンブラオプションを指定することが必要であるなら、複数の
-M オプションを使用できるか、またはコンマで区切られたリスト中に一緒に置くことができます。
- "no-aliases"
- 何らかの疑似命令ニーモニックの代わりに '生の' 命令ニーモニックを印刷します。すなわち、'move' の代わりに 'daddu' または 'or'、'nop' の代わりに 'sll' などを印刷します。
- "gpr-names= ABI"
- 指定された ABI にふさわしい GPR (汎用レジスタ) 名を印刷します。デフォルトで、GPR 名は、逆アセンブルされるバイナリの ABI に従って選択されます。
- "fpr-names= ABI"
- 指定された ABI にふさわしい FPR (浮動小数点レジスタ) 名を印刷します。デフォルトで、名前でなく FPR 番号を印刷します。
- "cp0-names= ARCH"
- ARCH によって指定された CPU またはアーキテクチャにふさわしい CP0 (システム制御コプロセッサ;コプロセッサ 0) レジスタ名を印刷します。デフォルトで、CP0 レジスタ名は、逆アセンブルされるバイナリのアーキテクチャと CPU に従って選択されます。
- "hwr-names= ARCH"
- ARCH によって指定された CPU またはアーキテクチャにふさわしい HWR ("rdhwr"命令によって使用されるハードウェアレジスタ) 名を印刷します。デフォルトで、HWR 名は、逆アセンブルされるバイナリのアーキテクチャと CPU に従って選択されます。
- "reg-names= ABI"
- 選択された ABI にふさわしい GPR と FPR 名を印刷します。
- "reg-names= ARCH"
- 選択された CPU またはアーキテクチャにふさわしい CPU 特有のレジスタ名 (CP0 レジスタと HWR 名) を印刷します。
- -p
- --private-headers
- オブジェクトファイル形式に特有の情報を印刷します。印刷された正確な情報は、オブジェクトファイル形式に依存します。オブジェクトファイル形式によっては、追加情報は、印刷されません。
- -r
- --reloc
- ファイルの再配置エントリを印刷します。 -d または -D と共に使用されるなら、再配置は、逆アセンブルがちりばめられて印刷されます。
- -R
- --dynamic-reloc
- ファイルの動的な再配置エントリを印刷します。これは、特定のタイプの共有ライブラリのような、動的なオブジェクトだけに意味があります。
- -s
- --full-contents
- 任意の要求されたセクションのすべての内容を表示します。デフォルトで、空でないすべてのセクションが表示されます。
- -S
- --source
- 可能であるなら、逆アセンブルでソースコードを混ぜて表示します。 -d の意味を含みます。
- --show-raw-insn
- 命令を逆アセンブルするときに、16 進数で命令のほかにシンボリック形式を印刷します。 --prefix-addresses が使用されるときを除いて、これはデフォルトです。
- --no-show-raw-insn
- 命令を逆アセンブルするときに、命令バイトを印刷しません。 --prefix-addresses が使用されるとき、これはデフォルトです。
- -W
- --dwarf
- いずれかが存在しているなら、ファイルの DWARF デバッグセクションの内容を表示します。
- -G
- --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
- ファイルの動的なシンボルテーブルエントリを印刷します。これは、特定のタイプの共有ライブラリのような、動的オブジェクトだけに意味があります。これは、 -D ( --dynamic) オプションが与えられるとき、 nm プログラムによってもたらされる情報と同様です。
- --special-syms
- 表示するとき、シンボルは、何らかの方法で特別であると見なされるターゲットと通常、ユーザに興味がないものを含みます。
- -V
- --version
- objdump のバージョン番号を印刷して、終了します。
- -x
- --all-headers
- シンボルテーブルと再配置エントリを含むすべての利用可能なヘッダ情報を表示します。 -x を使用するのは、 -a -f -h -p -r -t のすべてを指定することと同等です。
- -w
- --wide
- 80 カラムを超える出力デバイスのためにいくつかの行を書式化します。また、それらを表示するとき、シンボル名を切り詰めません。
- -z
- --disassemble-zeroes
- 通常、逆アセンブル出力は、0 のブロックをスキップします。このオプションは、他のデータと同様に、それらのブロックを逆アセンブルするように指示します。
- @ file
-
file からコマンドラインのオプションを読み込みます。読み込まれたオプションは、オリジナルの @
file オプションの場所に代わって挿入されます。
file が存在しないか、または読み込むことができないなら、オプションは、文字通りに扱われ、取り除かれません。
関連項目
nm(1), readelf(1) と binutils のための Info エントリ。COPYRIGHT
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
2010-10-30 | binutils-2.17.50 |