Cygwin GUI 付 GDB
Cygwin 上では GUI 付の gdb が提供されています。 但し、少しトラブルもありますので注意書に気をつけましょう。
で、どうやって使うかというと、
プログラムをコンパイルする場合は、gcc に-g optionをつかいます。 例えばこんな具合。
gcc -g -c programName.c gcc -g -o programName programName.c
gdb purogram
で gdb が立ち上がってきます。こんな感じ。
debugger 上で、プログラムは実行中と停止状態を繰り返すわけですが、 プログラムが停止中の場合、対応する行の色が変わります。
実行中のプログラムを、あるポイントまで実行したいという場合は ブレイクポイントを設定します。ソースの行頭の "-" をクリックすれば braekpoint が入ります。 普通は、main 関数の開始点に勝手に breakpoint が挿入されています。
プログラムを最初に実行状態にしたいときは、run アイコンをクリックします。 一時停止状態のプログラムを実行状態にしたい場合は、continue アイコンをクリックです。
停止状態で、一行文実行を進めたい場合は、 step もしくは、 next アイコンをクリックです。 二つの違いは、現在実行中の行に関数呼び出しがある場合は、 step の場合は呼び出された関数の中に入って実行を追い、 next の場合は、単なる一行として実行を追えるというものです。
但し、main が終了してからも next, step をクリックすると、 反応がしばらくなくなります。別に Hung Up したわけではないので、しばらく待ってください。
実行中プログラムを止めたい場合は、RUN メニューから kill すると良いでしょう。
実行中のプログラムは、エラーに衝突したり、STOP アイコンをクリックすると、 その状態で停止します。
Local 変数の一覧を見たければ、Local Variables アイコンです。
関数呼出し状況を見たければ、Stack アイコンです。 スタックが出てくるので、見たいスタックを選んで、 各フレームのlocal 変数の中身を調べることもできます。
停止状態でデータの中身を見たい場合は、変数の上にマウスを持っていくとよいです。 あるいは、watch アイコンをおして、見たい式(例えば、array[2]とか)を入力するのも良いでしょう。
2001.11.04/
Tomio KAMADA
: kamada@cs.kobe-u.ac.jp