デバッグするときの2つの問題に対するアプローチ方法
起きているバグの原因がすぐにわかることばかりではない。
バグの原因を探すのは難しい。闇雲にコードを読んでいても時間ばかりかかってしまう。
そんなときに、バグが起きている箇所(問題)に対する2つのアプローチ方法を教えてもらったので、ここにメモする。
「問題のある状況」と「問題のない状況」の差分を埋めていく
「バグが起きている状況」と「正常に動作している状況」を並べて、その差分からバグの可能性がある場所を探す方法。
コードを通過するデータがおかしい場合などはこの方法で見つけやすい。
時系列で物事を並べたときにどこまで問題がなくて、どこから問題があるのかというのを確認する
コードを実行して、問題が発生するタイミングを特定する方法。
この時、コードの実行ログをさらに詳細にするためにコードの中にログ出力設定を仕込むと良い。