次: , 上: Invoking GDB


2.1.1 ファイルの選択

起動されたGDBは、 指定された引数のうちオプション以外のものは、 実行ファイル名およびコア・ファイル名 (あるいはプロセスID) であると解釈します。 これは、 `-se'オプションと`-c'オプションが指定されたのと同じことです (GDBは、 対応するオプション・フラグを持たない最初の引数を`-se'オプション付きと同等とみなし、 同じく対応するオプション・フラグを持たない第2の引数があれば、 これを`-c'オプション付きと同等とみなします)。

多くのオプションには、 完全形と短縮形があります。 以下の一覧では、 その両方を示します。 オプション名は、 他のオプションと区別がつけば、 最後まで記述しなくても、 GDBによって正しく認識されます (オプション名には`-'ではなく`--'を使うことも可能ですが、 ここでは一般的な慣例にしたがうこととします)。

-symbols file
-s file
fileで指定されるファイルからシンボル・テーブルを読み込みます。
-exec file
-e file
可能であれば、 fileで指定されるファイルを、 実行ファイルとして使います。 また、 このファイルを、 コア・ダンプとともにデータを解析するために使います。
-se file
fileで指定されるファイルからシンボル・テーブルを読み込み、 かつ、 このファイルを実行ファイルとして使います。
-core file
-c file
fileで指定されるファイルを解析すべきコア・ダンプとして使います。
-c number
numberで指定されるプロセスIDを持つプロセスに接続します。 これは、 attachコマンドを実行するのと同等です (ただし、 numberで指定される名前のコア・ダンプ形式のファイルが存在する場合は、 そのファイルをコア・ダンプとして読み込みます)。
-command file
-x file
fileで指定されるファイル内に記述されたGDBコマンドを実行します。 See Command files
-directory directory
-d directory
ソース・ファイルを検索するパスにdirectoryで指定されるディレクトリを追加します。
-m
-mapped
注意: このオプションは、 すべてのシステムでサポートされているわけではない、 オペレーティング・システムのある機能に依存しています。
システム上で、 mmapシステム・コールによるファイルのメモリへのマッピングが使用可能である場合、 このオプションを使うことで、 プログラムのシンボル情報を再利用可能なファイルとしてカレント・ディレクトリに書き出させることができます。 仮にデバッグ中のプログラム名が/tmp/fredであるとすると、 マップされたシンボル・ファイルは./fred.symsとなります。 この後のGDBデバッグ・セッションは、 このファイルの存在を検出し、 そこから迅速にシンボル情報をマップします。 この場合、 実行プログラムからシンボル情報を読み込むことはありません。

.symsファイルは、 GDBが実行されるホスト・マシンに固有のものです。 このファイルは、 内部のGDBシンボル・テーブルのイメージをそのまま保存したものです。 これを、 複数のホスト・プラットフォーム上において、 共有することはできません。

-r
-readnow
シンボル・ファイル内のシンボル・テーブル全体をただちに読み込みます。 デフォルトの動作では、 シンボル情報は必要になるたびに徐々に読み込まれます。 このオプションを使うと起動までに時間がかかるようになりますが、 その後の処理は速くなります。

-mappedオプションと-readnowオプションは、 完全なシンボル情報を含む.symsファイルを作成するために、 通常は一緒に指定されます (.symsファイルに関する詳細については、 See Commands to specify files)。 後に使用する目的で.symsを作成するだけで、 それ以外には何もしないようにするためのGDBの単純な起動方法は、 以下のとおりです。

     	gdb -batch -nx -mapped -readnow programname