Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       gdb - GNU デバッガー

書式

       gdb [-help] [-nh] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps]
           [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-p procID]
           [-x cmds] [-d dir] [prog|prog procID|prog core]

説明

       GDB をはじめとするデバッガーは、プログラムが実行中またはクラッシュした時に、 そのプログラ
       ムの「内部」で何が行なわれているか/行われていたかを調べるのに使用されます。

       GDB は、4 つの機能 (加えてこれらをサポートする機能) によって 実行中にバグを見つけることを
       手助けします。

       •   プログラムの動作を詳細に指定してプログラムを実行させる。

       •   指定した条件でプログラムを停止させる。

       •   プログラムが止まった時に、何が起こったか調べる。

       •   バグによる副作用を修正し、別のバグを調べるためプログラムの状態を変更する。

       GDB では C, C++, Fortran, Modula-2 で書かれたプログラムのデバッグが行なえます。

       GDB はシェルコマンド "gdb" で起動されます。 いったん起動すると、GDB コマンド "quit" を実行
       して終了するまで、 端末からコマンドを読み続けます。 GDB のオンラインヘルプは、GDB の中から
       "help" コマンドを実行して見ることができます。

       "gdb" は引数やオプション無しで起動できますが、 たいていは 1 つか 2 つの引数をつけて起動し
       ます。 実行プログラムを引数にする場合は以下のようにします。

        gdb program

       また実行プログラムと core ファイルの両方を指定することもできます。

        gdb program core

       もし実行中のプロセスのデバッグを行ないたい場合には、 第 2 引数として core の代わりにプロセ
       ス ID を指定するか、あるいはオプション "-p" を用います:

        gdb program 1234  gdb -p 1234

       こうすれば GDB をプロセス 1234 にアタッチできます。 -p を用いる場合は、 program のファイル
       名は省略することができます。

       よく利用される GDB コマンドには以下のようなものがあります。

       break [file:]function
           プレークポイントを (file 内の)  function に設定します。

       run [arglist]
           プログラムの実行を開始します (もしあれば arglist を引数として)。

       bt  バックトレース: プログラムのスタックを表示します。

       print expr
           式の値を表示します。

       c   プログラムの実行を再開します (たとえばブレークポイントで実行を中断した後)。

       next
           次のプログラム行を実行します (停止状態の後)。 その行内のすべての関数は 1 ステップで実
           行されます。

       edit [file:]function
           現在中断している場所のプログラム行をエディターで開きます。

       list [file:]function
           現在中断している場所の近辺のプログラムソースを表示します。

       step
           次のプログラム行を実行します (停止状態の後)。 もしその行に関数が含まれていれば、その関
           数内をステップ実行していきます。

       help [name]
           GDB コマンド name についての情報や、 GDB を使う上での一般的な情報を表示します。

       quit
           GDB. を終了します。

       GDB の詳細については Using GDB: A Guide to the GNU Source-Level Debugger, by Richard M.
       Stallman and Roland H. Pesch を参照して下さい。 同じテキストは、 "info" プログラム内の
       "gdb" エントリからオンラインで参照できます。

オプション

       オプション以外の引数は、 実行ファイルと core ファイル (またはプロセス ID)  を指定します。
       つまりオプションフラグと関連づいていない最初の引数は、 -se オプションで指定するファイルと
       同じになります。 また、もしも2番目があれば、 -c オプションで指定するファイルと同じになりま
       す。 オプションの多くは、 長い表記法と短い表記法の両方で指定することができますが、 ここで
       はその両方を示します。 長い表記法は、 どのオプションであるのかが明確であれば、 短く切り詰
       めても構いません。 (好みにより - の代わりに + が使用できますが、ここではよく用いられる表記
       で記します。)

       すべてのオプションとコマンドライン引数は、 指定した順番に処理されます。 -x オプションが使
       用されると、 この順番は変わります。

       -help
       -h  短い説明つきで、 すべてのオプションを表示します。

       -symbols=file
       -s file
           シンボルテーブルをファイル file から読みます。

       -write
           実行ファイルやコアファイルへの書き込みを有効にします。

       -exec=file
       -e file
           ファイル file を実行可能ファイルとして利用します。 core dump と連係して pure data を調
           べるのにも用いられます。

       -se=file
            ファイル file からシンボルテーブルを読み、 同時にそれを実行可能ファイルとして利用しま
           す。

       -core=file
       -c file
           ファイル file を core dump として利用します。

       -command=file
       -x file
           ファイル file から GDB のコマンドを読み込み、実行します。

       -ex command
           指定された GDB command を実行します。

       -directory=directory
       -d directory
           ソースファイルを探す検索パスに directory を追加します。

       -nh ~/.config/gdb/gdbinit~/.gdbinit~/.config/gdb/gdbearlyinit~/.gdbearlyinit の各
           ファイルから、 コマンドを実行しません。

       -nx
       -n  ~/.gdbinit または .gdbearlyinit の初期化ファイルからコマンド実行しません。

       -quiet
       -q  起動時のメッセージおよび copyright を表示しません。 これらのメッセージはバッチモードで
           も抑制されます。

       -batch
           バッチモードで動作します。 -x で指定したファイル (および抑制されていなければ .gdbinit
           ファイル) 内の全てのコマンドを処理した後、戻り値として 0 を返して終了します。 コマンド
           ファイル内の GDB コマンドの実行中にエラーが生じた場合は、 0 以外の値で終了します。

           バッチモードは GDB をフィルタとして実行する場合、 たとえばプログラムをダウンロードして
           別のコンピュータ上で実行したりする場合 に便利です。 以下のメッセージ

            Program exited normally. (プログラムは正常に終了しました。)

           は通常、GDB の制御端末上で実行されるプログラムが終了するたびに 出力されるものですが、
           バッチモードではこのようなメッセージは出力されません。

       -cd=directory
           カレントディレクトリの代わりに directory を GDB の作業用ディレクトリとして実行します。

       -fullname
       -f  Emacs が GDB をサブプロセスとして実行する際に、 このオプションを付加します。 このとき
           GDB は、スタックフレームが表示されるたびに (プログラムが中断するたびに)、 完全なファイ
           ル名と行番号を標準的な認識しやすい形式で表示します。 この表示書式は 2 つの  32 文
           字、ファイル名、行番号とコロンで区切られた文字位置、改行の順になっています。 これは
           Emacs-GDB インタフェースプログラムにおいて、 フレームに対応するソースコードを表示する
           ために 2 つの  32 文字を使うことになっているからです。

       -b bps
           リモートデバッグ用に GDB が利用するシリアルインタフェースの回線速度を (ボーレートまた
           はビット/秒で) 設定します。

       -tty=device
           プログラムの標準入出力に device を利用します。

関連項目

       GDB の完全なドキュメントは Texinfo マニュアルとしてメンテナンスされています。"info" と
       "gdb" の両プログラム、および GDB の Texinfo ドキュメントが適切にインストールされていれ
       ば、以下のコマンド

        info gdb

       を実行して完全なマニュアルを参照できます。

       Using GDB: A Guide to the GNU Source-Level Debugger, Richard M. Stallman and Roland H.
       Pesch, July 1991.

著作権

       Copyright (c) 1988-2022 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.3 or any later version published by the Free
       Software Foundation; with the Invariant Sections being "Free Software" and "Free Software
       Needs Free Documentation", with the Front-Cover Texts being "A GNU Manual," and with the
       Back-Cover Texts as in (a) below.

       (a) FSF の裏表紙には、 以下の文章が記述されています: "You are free to copy and modify this
       GNU Manual.  Buying copies from GNU Press supports the FSF in developing GNU and promoting
       software freedom."