【でばっぐ】

デバッグ とは?

💡 プログラムの「虫取り」、バグを発見して取り除く作業
📌 このページのポイント
デバッグの流れ バグ発見 エラー発生 想定外の動作 🐛 原因調査 ログ確認 再現手順特定 🔍 修正 コード修正 パッチ適用 🔧 検証 テスト実行 動作確認 デバッグのコツ 再現手順を明確に 変更は1つずつ テストで再発防止
デバッグのイメージ
ひよこ ひよこ

デバッグって具体的に何をするの?

ペンギン先生 ペンギン先生

バグを「再現」→「原因を特定」→「修正」→「動作確認」の繰り返しだよ。「エラーが出る→エラーメッセージを読む→どこで起きているか確認→コードを修正→再実行」がよくある流れ。

ひよこ ひよこ

デバッガって何?

ペンギン先生 ペンギン先生

プログラムの任意の場所で実行を一時停止(ブレークポイント)してその時点の変数の値などを確認できるツール。print文でログを出すより詳細に状態を確認できる。VSCodeなどのIDEに内蔵されている。

ひよこ ひよこ

なんでバグを「虫」って呼ぶの?

ペンギン先生 ペンギン先生

1947年にグレース・ホッパー(航海少将でコンピュータ科学の先駆者)のチームが、コンピュータに実際に蛾が入り込んで誤動作した記録を「First actual case of bug being found(バグが発見された最初の事例)」とログに書いた。これが語源とされているよ。

ひよこ ひよこ

デバッグのコツってあるの?

ペンギン先生 ペンギン先生

二分探索デバッグ」が最強のテクニックの一つだよ。問題がどこで起きているか分からないとき、処理の中間地点にログを入れて「ここまでは正常か?」を確認する。正常なら後半を、異常なら前半をさらに半分に分けて調べる。これでどんなに長いコードでも対数時間で問題箇所を特定できるんだ。Gitにも「git bisect」という同じ考え方のコマンドがあって、「いつのコミットでバグが入ったか」を自動で二分探索してくれるよ。ベテランほどこの「切り分け」のスキルが高いんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
デバッグって出てきたら「プログラムの不具合(バグ)を見つけて修正する作業」と思えばOK!
📖 おまけ:英語の意味
「Debug」 = バグを取り除く
💬 1947年にグレース・ホッパーがコンピュータに侵入した実際の蛾(moth)を取り除いたログが残っており、"debugging"という語が定着したとされる
← 用語集にもどる