デバッグ
コードの欠陥を見つけて直すこと。語源は1947年のGrace Hopperで、Harvard Mark IIのリレーに本物の虫が挟まっていた逸話に由来する。
道具はブレークポイント、ログ出力、スタックトレース、プロファイラ、メモリ解析など。古典的なデバッガにはgdb(C/C++)、lldb(LLVM)、pdb(Python)、ブラウザのDevTools、VS Codeのデバッガ(LSPベース)がある。理論上は推奨されないが、実際にはprintデバッグが今も最も多い。ラバーダックデバッグは、ゴムのアヒルに問題を説明するうちに自分で解決するというものだ。Linuxのrrによる逆方向デバッグはステップを戻せ、事後解析ではコアダンプを後から調べる。新しいコードを読むときは、バグを探すつもりで読むとよい。