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 ] [-p|--private-headers] [--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... で調べるオブジェクトファイルを指定します。 アーカイブを指定した場合は、 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

    では、Oasys のコンパイラで生成された形式の、VAX のオブジェクトファイルで あることが明示的に指定された (`-m ')、ファイル `fu.o ' のセクションヘッダ (`-h ') からのサマリ情報を表示します。 指定可能な形式名は `-i ' オプションでリストできます。

-C

--demangle
    シンボル名の内部表現をユーザレベルの表現にデコード (demangle) します。 加えてシステムが付加した先頭のアンダースコアも取り除くので、 これによって C++ の関数名がわかりやすくなります。

--debugging
    デバッグ情報を表示します。ファイルに格納されているデバッグ情報を 解析して C 言語風の表記で出力する事を試みます。 いくつかの種類のデバッグ情報に関してのみ実装されています。

-d

--disassemble
    objfile から、機械語に対応するアセンブラニーモニックを表示します。 このオプションでは機械語を含むはずのセクションだけを 逆アセンブルします。

-D

--disassemble-all
    -d と同様ですが、すべてのセクションの内容を 逆アセンブルします。機械語を含むはずのセクションには 限りません。

--prefix-addresses
    逆アセンブル時に、各行に完全な形のアドレスを表示します。 これは古い逆アセンブル出力形式です。

--disassemble-zeroes
    通常は逆アセンブル出力で 0 が連続する部分は飛ばされます。 このオプションは逆アセンブラに、そういった部分も他のデータと 同様に逆アセンブルするように指示します。

-EB

-EL

--endian={big|little}
    オブジェクトファイルのエンディアンを指定します。これは 逆アセンブルにのみ影響します。エンディアン情報を持たない、 S レコードのようなファイル形式を逆アセンブルする際に有用です。

-f

--file-headers
    objfile の各ファイルのヘッダ全体からのサマリ情報を表示します。

-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 レコードのような、アーキテクチャ情報を持たないオブジェクトファイルを 逆アセンブルする場合に有効です。 -i オプションで、指定できるアーキテクチャ名をリストできます。

-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 を指定した場合のデフォルトです。

--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)

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

This document is distributed under the terms of the GNU Free Documentation License, version 1.1. That license is described in the sources for this manual page, but it is not displayed here in order to make this manual more consise. Copies of this license can also be obtained from: http://www.gnu.org/copyleft/.

日本語訳
野首 寛高(hnokubi@yyy.or.jp): FreeBSD 用に翻訳