【でばっぐ】

デバッグ とは?

最終更新:
💡 プログラムの「虫取り」、バグを発見して取り除く作業

プログラムのバグ(不具合)を発見して修正する作業。エラーの原因を特定し、正しく動作するようにコードを修正する。

📌 このページのポイント
再現から修正・確認まで、手掛かりを追う再現同じ入力原因調査ログなど修正コード確認テスト再現手順・入力・実行環境を記録直ったか確認し、必要なら調査を繰り返す
赤は不具合の再現、橙は調査、青は修正、緑は確認。矢印は基本の作業順を示し、一度で解決することや再発しないことを保証する図ではありません。
ひよこ ひよこ
デバッグって具体的に何をするの?
ペンギン先生 ペンギン先生
バグを「再現」→「原因を特定」→「修正」→「動作確認」の繰り返しだよ。「エラーが出る→エラーメッセージを読む→どこで起きているか確認→コードを修正→再実行」がよくある流れ。
ひよこ ひよこ
デバッガって何?
ペンギン先生 ペンギン先生
対応する実行位置にブレークポイントを置き、そこで一時停止して変数などを確認できるツールだよ。停止せずにログを調べる方法もあり、目的に応じて使い分ける。VS Codeでは言語や実行環境に応じたデバッガを使い、必要なら拡張機能を入れるんだ
ひよこ ひよこ
バグがなかなか再現しないときは?
ペンギン先生 ペンギン先生
いつ、どんな入力で、何をしたら起きたかを記録してみよう。エラーメッセージやログ、実行環境も手掛かりになるよ。再現できる最小の例を作ると、原因を絞り込みやすくなるんだ。
ひよこ ひよこ
デバッグのコツってあるの?
ペンギン先生 ペンギン先生
処理の途中にログを入れて、どこまでは正常に動いたかを調べる「切り分け」が役立つよ。Gitのgit bisectは、不具合がなかったコミットとあったコミットの間を二分探索して、原因となった変更を探せるんだ。ただし、不具合を安定して再現できる確認方法が必要だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「デバッグ」って出てきたら「プログラムの不具合を見つけて修正する作業」と思えばだいたいOK!
📖 おまけ:英語の意味
「Debug」 = 不具合を取り除く
💬 deは「取り除く」、bugは「不具合」を表すよ

参考資料

← 用語集にもどる