GDB(1) | GNU Development Tools | GDB(1) |
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 コマンドには以下のようなものがあります。
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 オプションが使用されると、 この順番は変わります。
バッチモードは GDB をフィルタとして実行する場合、 たとえばプログラムをダウンロードして別のコンピュータ上で実行したりする場合 に便利です。 以下のメッセージ
Program exited normally. (プログラムは正常に終了しました。)
は通常、GDB の制御端末上で実行されるプログラムが終了するたびに 出力されるものですが、 バッチモードではこのようなメッセージは出力されません。
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."
2022-01-16 | gdb-11.2 |