11.1 デバッグの概念と手法
プログラムは、自分が意図したとおりに動かない場合があります。その原因になっている部分をバグ(bug, 虫)といい、これを修正することをデバッグ(debug, 虫取り)と呼んでいます。
デバッグには大きく分けて、次の3つの手法があります。
- 机上デバッグ
プログラムリストを実際に目で追いながらチェックする方法です。 変数の型が正しいか、式の記述が間違っていないか、 必要なヘッダファイルのインクルードを忘れていないか、 ループの継続脱出条件にミスがないか、 if文中の条件判断が間違っていないかなどを中心に見ていきます。
- デバッグライト(debug write)、スナップショット(snapshot)
プログラム中の適当な場所にprintf文などを挿入し、変数やプログラムの経過表示 を行う方法です。 プログラムを実行した際に表示される変数の値や経過の表示を使ってプログラムの流れを追っていくこと(トレース、trace)によりバグを見つけます。
- デバッガ(ツール)の使用
プログラム中の任意の位置に中断するポイントを設定して、 その時点での変数の値を見ることができたり、プログラムが異常終了したときの終了状況を見ることなどができるなど、多彩なデバッグ機能を持った ソフトウェアをデバッガと呼んでいます。 デバッガを使用すると、効率の良いデバッグが可能となります。