デバッグの大事さ

こんにちは。
大阪支社ERP事業部のキムです。
最近毎日コードを書いてデバッグの大事さを気づきましたので皆さんにもデバッグに関して説明したいと思います。

デバッグの意味は、プログラム実行時に問題を起こすエラー、つまり「バグ」を探して解決する過程を意味します。

このバグは大きく文法的エラーと論理的エラーに分類されます。

文法的エラーは文字通りプログラミング言語の文法に合わないコードがある場合に発生し、大体IDE(統合開発環境)で解決できるためデバッグが容易方です。

しかし論理的エラーは文法的に問題ありませんが、意図とは合わないプログラムが実行されるエラーです。
この部分はIDEの機能だけでは解決されず、プログラマーが最も頭を痛めるエラーです。

私は、この解決するのがすごく難しい論理的エラーが大嫌いです。
エラーがどこで起こっているのかはデバッグするまで分からないし、もし分かったとしても自分は正しく書いたのに「なぜエラーが出る???」と思う時が多いからです。

デバッグの重要性

デバッグの意味は、エラーを除去することですが、より重要な意味はプログラムを調査し、プログラムが実行される過程を覗き見ることだと思います。

大規模プロジェクトのコードはコード量が非常に多いと思います。
このようなコードが実行される過程が理解できないとどこを修正すればいいのか、どこで問題が起こっているのか全く分からなくなると思います。
このような問題を避けるために、コードの流れを知るためにデバッグは重要だと思います。
私も今回の研修課題をする時、どのようにプログラムが動くのか全く理解できず、3日ほどデバッグにだけ時間を使ってどのようにプログラムが動くのか過程を理解しました。

上記のような理由によりプログラミングにおいてデバッグは必須の要素であり、実際に開発する際にも最も重要な部分だと思います。

デバッグする時に役に立った文章を皆さんと共有したいと思います。
皆さんも機会があったらぜひ読んで下さい。