デバッグとデバッガー 戻る | 学科

概要

デバッグ(Debug)はご存知の通り,バグ(欠陥)の除去を行う作業である. ほとんどのプログラム言語にいは,デバッグ作業を行うためのツールである デバッガー(Debugger)が提供されている.

デバッカーの基本機能

ほとんどのデバッガーは, プログラムの実行途中の変数値を観測する機能を提供しているに過ぎない. プログラムの実行は通常は凄い速さで済んでしまうので, 以下のような実行制御の機能を持つ.

Eclipseのデバッガー

数年前の演習1の解答例 (utf8版[ZIP]) を用いてEclipse上でのデバッガー を紹介する.みていて,なかなか楽しい.
  1. Eclipseを起動して,デバッグしたいソースを適当に開く.
  2. ウォッチポイントを設定, ウォッチしたい属性の左を左ダブルクリックすれば, ポイントが設定される [JPG]. トグルになっているので,再度,ダブルクリックすれば,ポイントは消える.
  3. ウォッチポイントは, 通常は参照,更新両方を監視することになっているので, 例えば,更新だけ監視したい場合は, プロパティを開けて [JPG], Accessのチェックを外したりする [JPG]
  4. メソッド内の命令文が普通の意味でのブレークポイントとなる [JPG]
  5. デバックを開始する [JPG], Debug perspective を開けるか?と聞いてるので [JPG], Yes で開ける.
  6. デバッグの画面になる [JPG]. 右上に現在実行がされているメソッドが含まれるオブジェクトの情報が表示されている. 左上あたりのボタン群 [JPG] が,resume, step 等を行うためのボタン.
  7. ためしにresumeすると, balance が更新される手前まで進む.
  8. さらに step over を押すと,実際に更新される瞬間?を観測できる [JPG]
  9. また resume とかすると,Station.getFareFrom() 辺りで止まるが,実際に駅インスタンス内にある HashMapの値なんか確認できたりして [JPG], 結構面白い.
  10. こんな感じで一歩一歩プログラムを実行したり,止めたりして, 期待通りに値の更新がされているかや, 期待通りにメソッドが呼び出されているかを確認する.
  11. 期待通りになっていない箇所こそ,まさにバグである!
  12. 通常のJava開発画面に戻るには, Window → Open Perspective → Java である [JPG]

本ページトップ | 戻る 更新