『Effective Debugging』の続き。己の限界。
タイトルからしてどのように訳せばよいのか、己の英語力の限界を早くも感じてしまった。すでにItem 01で感じていたが…。 「問題からバグへのドリルアップ及びプログラムの開始時点からバグへのドリルダウンを行う」と無理やり訳してみたが、自然な日本語からは程遠い。内容はバグに対するトップダウンアプローチとボトムアップアプローチの使い分けの戦略である。
プログラムがクラッシュした、フリーズした、エラーメッセージなど原因が明らかに特定できるケースはボトムアップアプローチをまず採用する。 ブレイクポイントやメモリダンプを駆使して原因を突き止める流れとなる。 一方、パフォーマンス、セキュリティ、信頼性など原因が簡単に特定できない場合はトップダウンアプローチを取る。 全体を部分に分解して原因を調べる流れとなる。 また、一方の方法で行き詰ったら方向を切り替えてみることを勧めている。
冷静に考えてみれば、エラーメッセージが出るなど場所が容易に特定できないとボトムアップは自ずと限界を迎えるので確かにそうですねという話だが、当たり前のことを明文化して認識することが重要である。