Eclipse による Windows program 開発
- gdb の導入 -

© Copyright Hirofumi Fujii (2007)
初稿:25-Jun-2007

[次へ]

gdb

Eclipse のような開発環境を使用する利点は、多くのファイルや設定を一括管理できることは もちろんであるが、debug のやりやすさも、もう一つの利点である。ここでは C/C++ での プログラム開発を行う場合の debug の方法を概観してみる。


MinGW版 gdb の導入

ここでは MinGW/MSYS を Eclipse/CDT のもとで動かすことを行っている。ここで使える debugger は gdb である。ただし、MinGW 用に port したものが必要である。残念ながら、MSYS/MinGW の 導入パッケージには default では gdb は含まれない。その場合、まずは gdb をインストールする ことから始める必要がある。

gdb のインストールにはソースから行うものと、Windows用 binary package から インストールするものがある。前者は、MSYS/MinGW の他に flex をインストールしてある必要がある。 筆者は、binary package からインストールした(gdb-6.3-2.exe)。インストール先は、MinGW と 同じになるようにする(筆者の場合は C:\MinGW、ここを指定すると C:\MinGW\bin に実行イメージが 格納される)。


Debug モードでの compile

一般に debugger を利用するには、symbol など debug 用の情報を付加した compile が必要である。 Eclipse/CDT の場合、default では debug は compile option として -O0 -g3 が指定され、 release は -O3 が指定される。特に変える必要は無い。


Debug の開始

ここでは、前に示した Windows program の単純な例題 を使って みる。ここでは Windows message のうち、command message(メニューなどが選ばれた 時に発生する message)を処理する部分 oncmnd.cpp を debug するものとしよう。C/C++ 画面で oncmnd.cpp を開いておく。

debug モジュールを選ぶ

この状態から実行する(debug モードでの build は済んでいるものとする)わけであるが、 違いは run の代わりに Debug を選ぶことである。

debug モードの選択

すると、Run を選んだ時と同様の画面が出るので、project や folder が正しく設定されているか 確認して、Debug ボタンを押す。
debug モードの選択

すると、Perspective を切り替えるぞ画面が出るので、Yes を選択する。
Perspective切り替え

C/C++ perspective から debug perspective に切り替わる。
debug 画面

Break したい場所へカーソルを持っていき、「Toggle Line Breakpoint」を選ぶ。
Breakpointの設定

Breakpoint の位置に印がつけられる。
Breakpointの印

実行を再開する。
実行の再開

マウスでメニューを叩くと、Windows message が発生し、この関数に入り breakpoint で 一時停止する。variables の窓に、局所変数のその時の値も示される。
実行の一時停止

Debug を終了したら、フレーム右上をクリックして perspective を選ぶ(通常は C/C++)。
perspectiveの選択

Debug時の表示項目は選択可能。
表示項目の選択


[次へ]