This is the GNU debugger. Usage:
gdb [options] [executable-file [core-file or process-id]]
gdb [options] --args executable-file [inferior-arguments ...]
gdb [options] [--python|-P] script-file [script-arguments ...]
Options:
--args Arguments after executable-file are passed to inferior
-b BAUDRATE Set serial port baud rate used for remote debugging.
--batch Exit after processing options.
--batch-silent As for --batch, but suppress all gdb stdout output.
--return-child-result
GDB exit code will be the child's exit code.
--cd=DIR Change current directory to DIR.
--command=FILE, -x Execute GDB commands from FILE.
--eval-command=COMMAND, -ex
Execute a single GDB command.
May be used multiple times and in conjunction
with --command.
--init-command=FILE, -ix Like -x but execute it before loading inferior.
--init-eval-command=COMMAND, -iex Like -ex but before loading inferior.
--core=COREFILE Analyze the core dump COREFILE.
--pid=PID Attach to running process PID.
--dbx DBX compatibility mode.
--directory=DIR Search for source files in DIR.
--epoch Output information used by epoch emacs-GDB interface.
--exec=EXECFILE Use EXECFILE as the executable.
--fullname Output information used by emacs-GDB interface.
--help Print this message.
--interpreter=INTERP
Select a specific interpreter / user interface
-l TIMEOUT Set timeout in seconds for remote debugging.
--nw Do not use a window interface.
--nx Do not read .gdbinit file.
--python, -P Following argument is Python script file; remaining
arguments are passed to script.
--quiet Do not print version number on startup.
--readnow Fully read symbol files on first access.
--readnever Do not read symbol files.
--se=FILE Use FILE as symbol file and executable file.
--symbols=SYMFILE Read symbols from SYMFILE.
--tty=TTY Use TTY for input/output by the program being debugged.
--tui Use a terminal user interface.
--version Print version information and then exit.
-w Use a window interface.
--write Set writing into executable and core files.
--xdb XDB compatibility mode.
At startup, GDB reads the following init files and executes their commands:
For more information, type "help" from within GDB, or consult the
GDB manual (available as on-line info or a printed manual).
Report bugs to "
This is the GNU debugger. Usage:
gdb [options] [executable-file [core-file or process-id]]
gdb [options] --args executable-file [inferior-arguments ...]
gdb [options] [--python|-P] script-file [script-arguments ...]
Options:
--args Arguments after executable-file are passed to inferior
-b BAUDRATE Set serial port baud rate used for remote debugging.
--batch Exit after processing options.
--batch-silent As for --batch, but suppress all gdb stdout output.
--return-child-result
GDB exit code will be the child's exit code.
--cd=DIR Change current directory to DIR.
--command=FILE, -x Execute GDB commands from FILE.
--eval-command=COMMAND, -ex
Execute a single GDB command.
May be used multiple times and in conjunction
with --command.
--init-command=FILE, -ix Like -x but execute it before loading inferior.
--init-eval-command=COMMAND, -iex Like -ex but before loading inferior.
--core=COREFILE Analyze the core dump COREFILE.
--pid=PID Attach to running process PID.
--dbx DBX compatibility mode.
--directory=DIR Search for source files in DIR.
--epoch Output information used by epoch emacs-GDB interface.
--exec=EXECFILE Use EXECFILE as the executable.
--fullname Output information used by emacs-GDB interface.
--help Print this message.
--interpreter=INTERP
Select a specific interpreter / user interface
-l TIMEOUT Set timeout in seconds for remote debugging.
--nw Do not use a window interface.
--nx Do not read .gdbinit file.
--python, -P Following argument is Python script file; remaining
arguments are passed to script.
--quiet Do not print version number on startup.
--readnow Fully read symbol files on first access.
--readnever Do not read symbol files.
--se=FILE Use FILE as symbol file and executable file.
--symbols=SYMFILE Read symbols from SYMFILE.
--tty=TTY Use TTY for input/output by the program being debugged.
--tui Use a terminal user interface.
--version Print version information and then exit.
-w Use a window interface.
--write Set writing into executable and core files.
--xdb XDB compatibility mode.
At startup, GDB reads the following init files and executes their commands:
For more information, type "help" from within GDB, or consult the
GDB manual (available as on-line info or a printed manual).
Report bugs to "
gdb(1) GNU Tools gdb(1) 名称 gdb - GNU デバッガ 書式 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-k] [-wcore] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]] 解説 GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした 時にそのプログラムの ‘‘内部’’ で何が行なわれているか/行われていたかを調 べるのに使用されます。 GDB は、4 つの機能 (加えてこれらをサポートする機能) によって実行中にバ グを見つけることを手助けします。 · プログラムの動作を詳細に指定してプログラムを実行させる。 · 指定した条件でプログラムを停止させる。 · プログラムが止まった時に、何が起こったか調べる。 · バグによる副作用を修正し、別のバグを調べるためプログラムの状態を 変更する。 GDB では C, C++, Modula-2 などで書かれたプログラムのデバッグが行なえま す。 GNU Fortran コンパイラが完成すれば Fortran もサポートされます。 GDB はシェルコマンドgdbで起動されます。いったん起動すると、GDB コ マ ン ドquit を実行して終了するまで、端末からコマンドを読み続けます。 gdbのオ ンラインヘルプは(gdbの中で) helpコマンドを実行すれば表示されます。 gdb は引数やオプション無しで起動できますが、たいてい、1 つか 2 つの引数 を 付けて起動します。実行プログラムを引数にする場合は以下のようになりま す: gdb program また実行プログラムと core ファイルの両方を指定することもできます: gdb program core もし実行中のプロセスのデバッグを行ないたい場合には、第 2 引 数 と し て core の代わりにプロセス ID を指定します: gdb program 1234 これは GDB をプロセス ID 1234 のプロセスに接続します(このとき‘1234’とい う名前のファイルが存在してはいけません。 GDB はまず core ファイルを最初 にチェックしにいくからです)。 よく利用される GDB コマンドには以下のようなものがあります: break [file:]function プレークポイントを (file内の) functionに設定します。 run [arglist] プログラムの実行を開始します(もしあれば arglistを引数として)。 bt バックトレース: プログラムのスタックを表示します。 print expr 式の値を表示します。 c プログラムの実行を再開します。(たとえばブレークポイントで実行を 中断した後で) next 次のプログラム行を実行します 。その行内の全ての関数は 1 ステップ で実行されます。 step 次のプログラム行を実行します。もしその行に関数が含まれていれば、 その関数内をステップ実行していきます。 help [name] GDB コマンド nameについての情報や、 GDB を使う上での一般的な情報 を表示します。 quit GDB を終了します。 GDB の詳細についてはUsing GDB: A Guide to the GNU Source-Level Debug- ger, by Richard M. Stallman and Roland H. Pesch. を参照して下さい。同じ テキストは、 info プログラム内の gdb エントリからオンラインで参照できま す。 オプション オプション以外の引数は、実行ファイルと core ファイル (もしくはプロセ ス ID) を表します。つまりオプションフラグでもオプションフラグの引数でもな い最初の引数は ‘-se’ オプションで指定するファイルと同じになり、(もし あ れ ば)次の 2 番目の引数は ‘-c’ オプションで指定するファイルと同じになり ます。 オプションの多くは、長い表記法と短い表記法の両方で指定することができ ま す が、ここではその両方を示します。長い表記法は、どのオプションであるの かが明確であれば、短く切り詰めても構いません。 (好みにより ‘-’ の代わり に ‘+’ が使用できますが、ここではよく用いられる表記で記します。) 全てのオプションとコマンドライン引数は指定した順番に処理されます。 ‘-x’ オプションが使用されると、この順番は変わってきます。 -help -h 短い説明つきで、全てのオプションを表示します。 -symbols=file -s file シンボルテーブルをファイル fileから読みます。 -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 のコマンドを読み込み、実行します。 -directory=directory -d directory ソースファイルを探すサーチパスに directory を追加します。 -nx -n 初期化ファイル ‘.gdbinit’ からコマンドを読み込みません。通常は、 全てのコマンドオプションと引数が処理された後で、初期化ファイル内 のコマンドが実行されます。 -quiet -q 起動時のメッセージおよび copyright を表示しません。これらのメ ッ セージはバッチモードでも抑制されます。 -batch バッチモードで動作します。‘-x’ で指定したファイル(および、-nx か -n で抑制されていなければ ‘.gdbinit’) 内の全てのコマンドを処理し た 後 、 戻り値として 0 を返して終了します。コマンドファイル内の GDB コマンドの実行中にエラーが生じた場合は、 0 以外の値で終了 し ます。 バ ッチモードは GDB をフィルタとして実行する場合、たとえばプログ ラムをダウンロードして別のコンピュータ上で実行したりする場合に便 利です。以下のメッセージ Program exited normally.(プログラムは正常に終了しました。) は通常、GDB の制御端末上で実行されるプログラムが終了するたびに出 力されるものですが、バッチモードではこのようなメッセージは出力さ れません。 -cd=directory カレントディレクトリの代わりに directory を GDB の作業用ディレ クトリとして実行します。 -fullname -f Emacs が GDB をサブプロセスとして実行する際にこのオプションを 付 加します。このとき GDB は、スタックフレームが表示される度(プログ ラムが中断する度を含みます)に、完全なファイル名と行番号を標準 的 な認識しやすい形式で表示します。この表示書式は 2 つの ‘ 32’ 文字 、ファイル名、コロンで区切られた行番号と文字位置、改行の順になっ ています。これは Emacs→GDB インタフェースプログラムにおいて、フ レームに対応するソースコードを表示するために 2 つの ‘ 32’ 文字を 使うことになっているからです。 -kernel -k gdb を カ ー ネ ル デ バ ッ グモードで使用します。プロンプトは ‘‘(kgdb)’’ になります。 -wcore このオプションはカーネルデバッグモードで「動作中の」カーネルをデ バッグしている時のみ使用可能であり、コアファイル (/dev/mem) を書 き込み可能にします。 -b bps リモートデバッグ用に GDB が利用するシリアルインタフェースの転送 速度を (ボーレートまたはビット/秒で)セットします。 -tty=device プログラムの標準入出力に device を利用します。 関連項目 info 内 の ‘gdb’ エントリ ; Using GDB: A Guide to the GNU Source-Level Debugger, Richard M. Stallman and Roland H. Pesch, July 1991. COPYING Copyright (c) 1991 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a per- mission notice identical to this one. Permission is granted to copy and distribute translations of this man- ual into another language, under the above conditions for modified ver- sions, except that this permission notice may be included in transla- tions approved by the Free Software Foundation instead of in the origi- nal English. GNU Tools 4nov1991 gdb(1)
gdb(1) GNU Tools gdb(1) NAME gdb - The GNU Debugger SYNOPSIS gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]] DESCRIPTION The purpose of a debugger such as GDB is to allow you to see what is going on ‘‘inside’’ another program while it executes—or what another program was doing at the moment it crashed. GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act: · Start your program, specifying anything that might affect its behavior. · Make your program stop on specified conditions. · Examine what has happened, when your program has stopped. · Change things in your program, so you can experiment with cor- recting the effects of one bug and go on to learn about another. You can use GDB to debug programs written in C, C++, and Modula-2. Fortran support will be added when a GNU Fortran compiler is ready. GDB is invoked with the shell command gdb. Once started, it reads com- mands from the terminal until you tell it to exit with the GDB command quit. You can get online help from gdb itself by using the command help. You can run gdb with no arguments or options; but the most usual way to start GDB is with one argument or two, specifying an executable program as the argument: gdb program You can also start with both an executable program and a core file specified: gdb program core You can, instead, specify a process ID as a second argument, if you want to debug a running process: gdb program 1234 would attach GDB to process 1234 (unless you also have a file named ‘1234’; GDB does check for a core file first). Here are some of the most frequently needed GDB commands: break [file:]function Set a breakpoint at function (in file). run [arglist] Start your program (with arglist, if specified). bt Backtrace: display the program stack. print expr Display the value of an expression. c Continue running your program (after stopping, e.g. at a break- point). next Execute next program line (after stopping); step over any func- tion calls in the line. edit [file:]function look at the program line where it is presently stopped. list [file:]function type the text of the program in the vicinity of where it is presently stopped. step Execute next program line (after stopping); step into any func- tion calls in the line. help [name] Show information about GDB command name, or general information about using GDB. quit Exit from GDB. For full details on GDB, see Using GDB: A Guide to the GNU Source-Level Debugger, by Richard M. Stallman and Roland H. Pesch. The same text is available online as the gdb entry in the info program. OPTIONS Any arguments other than options specify an executable file and core file (or process ID); that is, the first argument encountered with no associated option flag is equivalent to a ‘-se’ option, and the second, if any, is equivalent to a ‘-c’ option if it’s the name of a file. Many options have both long and short forms; both are shown here. The long forms are also recognized if you truncate them, so long as enough of the option is present to be unambiguous. (If you prefer, you can flag option arguments with ‘+’ rather than ‘-’, though we illustrate the more usual convention.) All the options and command line arguments you give are processed in sequential order. The order makes a difference when the ‘-x’ option is used. -help -h List all options, with brief explanations. -symbols=file -s file Read symbol table from file file. -write Enable writing into executable and core files. -exec=file -e file Use file file as the executable file to execute when appropri- ate, and for examining pure data in conjunction with a core dump. -se=file Read symbol table from file file and use it as the executable file. -core=file -c file Use file file as a core dump to examine. -command=file -x file Execute GDB commands from file file. -directory=directory -d directory Add directory to the path to search for source files. -nx -n Do not execute commands from any ‘.gdbinit’ initialization files. Normally, the commands in these files are executed after all the command options and arguments have been processed. -quiet -q ‘‘Quiet’’. Do not print the introductory and copyright mes- sages. These messages are also suppressed in batch mode. -batch Run in batch mode. Exit with status 0 after processing all the command files specified with ‘-x’ (and ‘.gdbinit’, if not inhib- ited). Exit with nonzero status if an error occurs in executing the GDB commands in the command files. Batch mode may be useful for running GDB as a filter, for exam- ple to download and run a program on another computer; in order to make this more useful, the message Program exited normally. (which is ordinarily issued whenever a program running under GDB control terminates) is not issued when running in batch mode. -cd=directory Run GDB using directory as its working directory, instead of the current directory. -fullname -f Emacs sets this option when it runs GDB as a subprocess. It tells GDB to output the full file name and line number in a standard, recognizable fashion each time a stack frame is dis- played (which includes each time the program stops). This rec- ognizable format looks like two ‘ 32’ characters, followed by the file name, line number and character position separated by colons, and a newline. The Emacs-to-GDB interface program uses the two ‘ 32’ characters as a signal to display the source code for the frame. -b bps Set the line speed (baud rate or bits per second) of any serial interface used by GDB for remote debugging. -tty=device Run using device for your program’s standard input and output. SEE ALSO ‘gdb’ entry in info; Using GDB: A Guide to the GNU Source-Level Debug- ger, Richard M. Stallman and Roland H. Pesch, July 1991. COPYING Copyright (c) 1991, 2010 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a per- mission notice identical to this one. Permission is granted to copy and distribute translations of this man- ual into another language, under the above conditions for modified ver- sions, except that this permission notice may be included in transla- tions approved by the Free Software Foundation instead of in the origi- nal English. GNU Tools 22may2002 gdb(1)
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa