デバッグ

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

デバッグ(debug)とは、コンピュータープログラムのバグを取り除く作業のこと。

概要[編集]

ソフトウェア開発におけるバグ除去作業は、大まかにバグの検出、バグの原因究明、バグフィックス、再テストの順に行う。再テストでバグが再現しないことを確認できれば、その1つのバグについてはデバッグが完了となる。バグフィックスによって、新たなバグが埋め込まれることもあるので、デバッグはリグレッションテストと組み合わせるのが望ましい。

バグの検出には、テストの実施が最も主要な手段である。静的解析ソフトを使用して、テスト前にバグの可能性があるコードを検出する方法もある。ゲーム開発などの場合は、テスターと呼ばれるデバッグの共同作業者がおり、実際にゲームをプレイ[1]して見つけたバグを報告してもらう、といったような分業制を取ることがある。ゲーム以外でも、デバッグ専門のチームや部門を設ける場合がある。

バグの原因究明には、ソースコードを眺めてバグの発生メカニズムを推測したり、デバッガーを用いたりする。あらかじめプログラムの各所にデバッグプリント[2]と呼ばれるコードを仕込んでおき、状態遷移を観察する方法もある。

バグフィックスは、バグを引き起こしているコードを除去して正しいコードに修正する作業である。

脚注[編集]

  1. この場合のプレイは、通常プレイだけでなく、ほとんどのユーザーがプレイしないような変則的な操作の繰り返しなども行う。
  2. テスト用ビルドの時だけ出力されるような仕掛けを利用して埋め込んでおくprint命令。デバッグに役立つと思われる情報を出力するようにしておく。ロギングを利用することもある。

関連項目[編集]