飴屋

デバッグ

デバッグとは?

ガリガリと書いたプログラムの中に潜み、エラーの原因となるバグ(虫)を退治する作業のこと。それっぽく作成したプログラムでも、どうしてもバグは潜んでいるため、バグを探す作業はリリース前に必須。フリーウェアやシェアウェアのよいところは、ユーザーさんが気づいたバグを投稿してくれるところにありますね。大助かりです。そのため協力してもらっているのにデバッグがうまく進まないときは、大変申し訳なくなります。

デバッグの方法

デバッグに「正しい方法はこれ!」というのはないというのは、
プログラマの方はみなさんおっしゃいます。ちゃんとした統合開発環境が
あるとしっかりしたデバッガがついているので、エラーの原因も掴みやすいの
だと思いますが、フリーのコンパイラばかりの私がよくやっていたのは、
メッセージボックスに臭い変数の値を出力させて、変な値が出ないか
チェックする方法でした。シンプルなバグならこれで十分効率的に解決
できるのですが、複雑極まるバグの場合、原因を調べるために
メッセージボックスの出し方をいろいろ組み合わせることになります。
元々のプログラム以上に複雑な作業になったりすると元も子もありません。

過去の経験から、バグを含んでいる機能をシンプルなプロジェクトに一から
書き直して原因を調べるというのも、手間がかかりそうでいて案外そうでもなく、
また有効であると思います。でも、中々腰があがらないんですよね。
一から作ってみるっていうのが、なぜかすごく億劫に感じませんか。

バグのレベル

バグにはいくつか段階があって、コンパイルを阻止するようなものから、
実行時にしかでないもの、特定の環境でしかでないものとあります。
一人で趣味でプログラムを作成しているときには特に意識されなかったのですが、
公開するようになってからですね、バグの個性を掴み出したのは。
そんな憎きバグたちのこともいつかドキュメントにまとめてみたいです。