C

準備

デバッガを使うために、コンパイル時に "-g" オプションをつけておくこと

gcc -g -o test test.c

起動

通常の起動

gdb test

coreファイルを使って起動

gdb test test.core

使い方

起動できれば,以下のようなメッセージが出て,プロンプト``(gdb)''が表示される.

GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb)

ソースコードのリスト

li または list

ソースコードが行番号つきで表示される。

breakポイント

breakポイントとは指定した位置にプログラムが来た場合にプログラムを停止させるためのものである.

break 行番号

(例) break 8

8行目を実行する前で実行を中断するようにgdbに指定する.

break 関数名

(例) break CalcWorkTime? 関数CalcWorkTime?の最初の文を実行する前で実行を中断するようにgdbに指定する.
info break

現在設定されているbreakポイントの一覧を表示する.最初にbreakポイント番号が表示され,最後にどのファイルの何行目かなどの情\ 報が表示される.

(例)

(gdb) info break
Num Type           Disp Enb Address    What
1   breakpoint     keep y   0x08048450 in main at uruu.c:15
2   breakpoint     keep y   0x080484c4 in day at uruu.c:31
(gdb)
delete breakポイント番号

breakポイント番号で指定されたbreakポイントが消去される.

(例) break 2 先の例では,ファイルuruu.cの31行目にあるbreakポイントが消去される.

clear 行数

(例) clear 8

8行目に設定されたbreakポイントが消去される.

clear 関数名

(例) clear CalcWorkTime?

関数CalcWorkTime?に設定されたbreakポイントが消去される.

デバックするプログラムの実行と再開

r または run

プログラムを最初から実行する.breakポイントまで実行されれば中断する.

もし,プログラムに引数を渡すことが必要なら,以下のようにrunの後に引数を指定する.

run Taro 7 20
n または next

実行中断の状態から1つだけ文を実行する.
s または step

実行中断の状態から1つだけ文を実行する.もし次の文が関数なら,その関数の中の最初の文まで進む.
c もしくは cont, continue

実行中断の状態から次のbreakポイントまで実行する.

変数の値の表示

print 変数名 または p 変数名

変数の値を表示する.

(例) print count

変数countの値を表示する.

print *変数名または p *変数名

変数がポインタであるとき,それが指している先の内容を表示する.

(例) print *pointer

ポインタpointerが指している領域の内容を表示する.

終了

quit

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS